@remotion/lambda 4.0.201 → 4.0.204
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/dist/api/bucket-exists.js +6 -2
- package/dist/api/clean-items.d.ts +2 -1
- package/dist/api/clean-items.js +2 -1
- package/dist/api/create-bucket.js +5 -5
- package/dist/api/delete-render.d.ts +2 -0
- package/dist/api/delete-render.js +6 -0
- package/dist/api/delete-site.d.ts +11 -5
- package/dist/api/delete-site.js +7 -1
- package/dist/api/deploy-site.d.ts +5 -3
- package/dist/api/deploy-site.js +7 -2
- package/dist/api/download-media.d.ts +2 -0
- package/dist/api/download-media.js +4 -1
- package/dist/api/get-aws-client.d.ts +2 -1
- package/dist/api/get-aws-client.js +2 -1
- package/dist/api/get-buckets.js +11 -3
- package/dist/api/get-compositions-on-lambda.d.ts +2 -1
- package/dist/api/get-compositions-on-lambda.js +3 -1
- package/dist/api/get-or-create-bucket.js +1 -0
- package/dist/api/get-render-progress.d.ts +1 -0
- package/dist/api/get-sites.d.ts +9 -4
- package/dist/api/get-sites.js +15 -5
- package/dist/api/make-lambda-payload.d.ts +4 -3
- package/dist/api/make-lambda-payload.js +9 -4
- package/dist/api/presign-url.d.ts +8 -3
- package/dist/api/presign-url.js +26 -12
- package/dist/api/render-media-on-lambda.d.ts +1 -0
- package/dist/api/render-media-on-lambda.js +2 -1
- package/dist/api/render-still-on-lambda.d.ts +1 -0
- package/dist/api/render-still-on-lambda.js +2 -1
- package/dist/api/upload-dir.d.ts +2 -1
- package/dist/api/upload-dir.js +2 -2
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/commands/render/render.js +3 -1
- package/dist/cli/commands/sites/create.js +3 -1
- package/dist/cli/commands/sites/rm.js +1 -0
- package/dist/cli/commands/sites/rmall.js +1 -0
- package/dist/cli/commands/still.d.ts +6 -1
- package/dist/cli/commands/still.js +2 -1
- package/dist/cli/index.js +6 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -4
- package/dist/functions/helpers/cleanup-props.d.ts +2 -1
- package/dist/functions/helpers/cleanup-props.js +3 -1
- package/dist/functions/helpers/expected-out-name.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +2 -1
- package/dist/functions/helpers/get-browser-instance.d.ts +3 -2
- package/dist/functions/helpers/get-browser-instance.js +3 -4
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-custom-out-name.d.ts +1 -1
- package/dist/functions/helpers/get-overall-progress-s3.d.ts +2 -1
- package/dist/functions/helpers/get-overall-progress-s3.js +2 -1
- package/dist/functions/helpers/get-progress.d.ts +2 -1
- package/dist/functions/helpers/get-progress.js +2 -1
- package/dist/functions/helpers/io.d.ts +3 -33
- package/dist/functions/helpers/io.js +3 -104
- package/dist/functions/helpers/merge-chunks.d.ts +1 -0
- package/dist/functions/helpers/merge-chunks.js +2 -0
- package/dist/functions/helpers/overall-render-progress.d.ts +2 -1
- package/dist/functions/helpers/overall-render-progress.js +2 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.js +3 -3
- package/dist/functions/helpers/read-with-progress.d.ts +2 -1
- package/dist/functions/helpers/read-with-progress.js +2 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -3
- package/dist/functions/helpers/write-lambda-error.js +3 -2
- package/dist/functions/launch.js +8 -0
- package/dist/functions/progress.js +1 -0
- package/dist/functions/provider-implementation.d.ts +0 -0
- package/dist/functions/provider-implementation.js +1 -0
- package/dist/functions/renderer.js +2 -0
- package/dist/functions/start.js +3 -0
- package/dist/functions/still.js +6 -0
- package/dist/index.d.ts +2 -2
- package/dist/internals.d.ts +11 -9
- package/dist/io/delete-file.js +2 -2
- package/dist/io/head-file.js +6 -2
- package/dist/io/list-objects.js +12 -3
- package/dist/io/read-file.d.ts +2 -1
- package/dist/io/read-file.js +6 -2
- package/dist/io/write-file.js +6 -2
- package/dist/shared/aws-clients.js +15 -2
- package/dist/shared/cleanup-serialized-input-props.d.ts +4 -2
- package/dist/shared/cleanup-serialized-input-props.js +4 -2
- package/dist/shared/compress-props.d.ts +8 -6
- package/dist/shared/compress-props.js +11 -14
- package/dist/shared/get-s3-client.d.ts +5 -1
- package/dist/shared/get-s3-client.js +2 -1
- package/dist/shared/get-service-client.d.ts +2 -1
- package/dist/shared/get-service-client.js +4 -2
- package/dist/shared/lifecycle-rules.d.ts +2 -1
- package/dist/shared/lifecycle-rules.js +17 -7
- package/package.json +11 -11
- package/remotionlambda-arm64.zip +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +0 -3
- package/dist/functions/helpers/check-if-render-exists.js +0 -15
- package/dist/functions/helpers/delete-chunks.d.ts +0 -9
- package/dist/functions/helpers/delete-chunks.js +0 -25
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -10
- package/dist/functions/helpers/get-cleanup-progress.js +0 -35
- package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -7
- package/dist/functions/helpers/get-encoding-metadata.js +0 -15
- package/dist/functions/helpers/get-encoding-progress-step-size.d.ts +0 -1
- package/dist/functions/helpers/get-encoding-progress-step-size.js +0 -7
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -10
- package/dist/functions/helpers/get-files-to-delete.js +0 -52
- package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -6
- package/dist/functions/helpers/get-final-encoding-status.js +0 -18
- package/dist/functions/helpers/get-folder-size.d.ts +0 -1
- package/dist/functions/helpers/get-folder-size.js +0 -8
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +0 -8
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -14
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -8
- package/dist/functions/helpers/get-post-render-data.js +0 -22
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -8
- package/dist/functions/helpers/get-render-metadata.js +0 -17
- package/dist/functions/helpers/get-rendered-frames-progress.d.ts +0 -8
- package/dist/functions/helpers/get-rendered-frames-progress.js +0 -37
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -5
- package/dist/functions/helpers/get-time-to-finish.js +0 -13
- package/dist/functions/helpers/streaming-payloads.d.ts +0 -19
- package/dist/functions/helpers/streaming-payloads.js +0 -25
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -9
- package/dist/functions/helpers/write-post-render-data.js +0 -18
- package/dist/functions/merge.d.ts +0 -9
- package/dist/functions/merge.js +0 -61
- package/dist/shared/chunk-progress.d.ts +0 -9
- package/dist/shared/chunk-progress.js +0 -2034
- package/dist/shared/parse-chunk-key.d.ts +0 -5
- package/dist/shared/parse-chunk-key.js +0 -15
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -5
- package/dist/shared/parse-lambda-initialized-key.js +0 -15
- package/dist/shared/serialize-props.d.ts +0 -14
- package/dist/shared/serialize-props.js +0 -36
|
@@ -1,111 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.lambdaHeadCommand =
|
|
3
|
+
exports.lambdaHeadCommand = void 0;
|
|
7
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
8
|
-
const
|
|
9
|
-
const aws_clients_1 = require("../../shared/aws-clients");
|
|
10
|
-
const content_disposition_header_1 = require("../../shared/content-disposition-header");
|
|
11
|
-
const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }) => {
|
|
12
|
-
var _a, _b, _c;
|
|
13
|
-
try {
|
|
14
|
-
const list = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
15
|
-
Bucket: bucketName,
|
|
16
|
-
Prefix: prefix,
|
|
17
|
-
ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
18
|
-
ContinuationToken: continuationToken,
|
|
19
|
-
}));
|
|
20
|
-
if (list.NextContinuationToken) {
|
|
21
|
-
return [
|
|
22
|
-
...((_a = list.Contents) !== null && _a !== void 0 ? _a : []),
|
|
23
|
-
...(await (0, exports.lambdaLs)({
|
|
24
|
-
bucketName,
|
|
25
|
-
prefix,
|
|
26
|
-
expectedBucketOwner,
|
|
27
|
-
region,
|
|
28
|
-
continuationToken: list.NextContinuationToken,
|
|
29
|
-
})),
|
|
30
|
-
];
|
|
31
|
-
}
|
|
32
|
-
return (_b = list.Contents) !== null && _b !== void 0 ? _b : [];
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
if (!expectedBucketOwner) {
|
|
36
|
-
throw err;
|
|
37
|
-
}
|
|
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
|
-
if ((_c = err.stack) === null || _c === void 0 ? void 0 : _c.includes('AccessDenied')) {
|
|
40
|
-
await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
41
|
-
Bucket: bucketName,
|
|
42
|
-
Prefix: prefix,
|
|
43
|
-
}));
|
|
44
|
-
throw new Error(`Bucket owner mismatch: Expected the bucket ${bucketName} to be owned by you (AWS Account ID: ${expectedBucketOwner}) but it's not the case. Did you accidentially specify the wrong bucket?`);
|
|
45
|
-
}
|
|
46
|
-
throw err;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
exports.lambdaLs = lambdaLs;
|
|
50
|
-
const lambdaDeleteFile = async ({ bucketName, key, region, customCredentials, }) => {
|
|
51
|
-
await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.DeleteObjectCommand({
|
|
52
|
-
Bucket: bucketName,
|
|
53
|
-
Key: key,
|
|
54
|
-
}));
|
|
55
|
-
};
|
|
56
|
-
exports.lambdaDeleteFile = lambdaDeleteFile;
|
|
57
|
-
const tryLambdaWriteFile = 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
|
-
Bucket: bucketName,
|
|
60
|
-
Key: key,
|
|
61
|
-
Body: body,
|
|
62
|
-
ACL: privacy === 'no-acl'
|
|
63
|
-
? undefined
|
|
64
|
-
: privacy === 'private'
|
|
65
|
-
? 'private'
|
|
66
|
-
: 'public-read',
|
|
67
|
-
ExpectedBucketOwner: customCredentials
|
|
68
|
-
? undefined
|
|
69
|
-
: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
70
|
-
ContentType: mime_types_1.default.lookup(key) || 'application/octet-stream',
|
|
71
|
-
ContentDisposition: (0, content_disposition_header_1.getContentDispositionHeader)(downloadBehavior),
|
|
72
|
-
}));
|
|
73
|
-
};
|
|
74
|
-
const lambdaWriteFile = async (params) => {
|
|
75
|
-
var _a;
|
|
76
|
-
const remainingRetries = (_a = params.retries) !== null && _a !== void 0 ? _a : 2;
|
|
77
|
-
try {
|
|
78
|
-
await tryLambdaWriteFile(params);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
if (remainingRetries === 0) {
|
|
82
|
-
throw err;
|
|
83
|
-
}
|
|
84
|
-
const backoff = 2 ** (2 - remainingRetries) * 2000;
|
|
85
|
-
await new Promise((resolve) => {
|
|
86
|
-
setTimeout(resolve, backoff);
|
|
87
|
-
});
|
|
88
|
-
console.warn('Failed to write file to Lambda:');
|
|
89
|
-
console.warn(err);
|
|
90
|
-
console.warn(`Retrying (${remainingRetries} retries remaining)...`);
|
|
91
|
-
return (0, exports.lambdaWriteFile)({
|
|
92
|
-
...params,
|
|
93
|
-
retries: remainingRetries - 1,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
exports.lambdaWriteFile = lambdaWriteFile;
|
|
98
|
-
const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, }) => {
|
|
99
|
-
const { Body } = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.GetObjectCommand({
|
|
100
|
-
Bucket: bucketName,
|
|
101
|
-
Key: key,
|
|
102
|
-
ExpectedBucketOwner: expectedBucketOwner,
|
|
103
|
-
}));
|
|
104
|
-
return Body;
|
|
105
|
-
};
|
|
106
|
-
exports.lambdaReadFile = lambdaReadFile;
|
|
5
|
+
const get_s3_client_1 = require("../../shared/get-s3-client");
|
|
107
6
|
const lambdaHeadCommand = async ({ bucketName, key, region, customCredentials, }) => {
|
|
108
|
-
const head = await (0,
|
|
7
|
+
const head = await (0, get_s3_client_1.getS3Client)(region, customCredentials).send(new client_s3_1.HeadObjectCommand({
|
|
109
8
|
Bucket: bucketName,
|
|
110
9
|
Key: key,
|
|
111
10
|
}));
|
|
@@ -32,4 +32,5 @@ export declare const mergeChunksAndFinishRender: <Provider extends CloudProvider
|
|
|
32
32
|
overallProgress: OverallProgressHelper<Provider>;
|
|
33
33
|
startTime: number;
|
|
34
34
|
providerSpecifics: ProviderSpecifics<Provider>;
|
|
35
|
+
forcePathStyle: boolean;
|
|
35
36
|
}) => Promise<PostRenderData<Provider>>;
|
|
@@ -49,6 +49,7 @@ const mergeChunksAndFinishRender = async (options) => {
|
|
|
49
49
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
50
50
|
downloadBehavior: options.downloadBehavior,
|
|
51
51
|
customCredentials: options.customCredentials,
|
|
52
|
+
forcePathStyle: options.forcePathStyle,
|
|
52
53
|
});
|
|
53
54
|
writeToBucket.end();
|
|
54
55
|
const errorExplanations = (0, inspect_errors_1.inspectErrors)({
|
|
@@ -58,6 +59,7 @@ const mergeChunksAndFinishRender = async (options) => {
|
|
|
58
59
|
inputProps: options.inputProps,
|
|
59
60
|
serializedResolvedProps: options.serializedResolvedProps,
|
|
60
61
|
providerSpecifics: options.providerSpecifics,
|
|
62
|
+
forcePathStyle: options.forcePathStyle,
|
|
61
63
|
});
|
|
62
64
|
const { url: outputUrl } = (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(options.renderMetadata, options.bucketName, options.customCredentials, options.providerSpecifics.getCurrentRegionInFunction());
|
|
63
65
|
const postRenderData = (0, create_post_render_data_1.createPostRenderData)({
|
|
@@ -47,7 +47,7 @@ export type OverallProgressHelper<Provider extends CloudProvider> = {
|
|
|
47
47
|
getReceivedArtifacts: () => ReceivedArtifact<Provider>[];
|
|
48
48
|
};
|
|
49
49
|
export declare const makeInitialOverallRenderProgress: <Provider extends CloudProvider<string, Record<string, unknown>>>(timeoutTimestamp: number) => OverallRenderProgress<Provider>;
|
|
50
|
-
export declare const makeOverallRenderProgress: <Provider extends CloudProvider<string, Record<string, unknown>>>({ renderId, bucketName, expectedBucketOwner, region, timeoutTimestamp, logLevel, providerSpecifics, }: {
|
|
50
|
+
export declare const makeOverallRenderProgress: <Provider extends CloudProvider<string, Record<string, unknown>>>({ renderId, bucketName, expectedBucketOwner, region, timeoutTimestamp, logLevel, providerSpecifics, forcePathStyle, }: {
|
|
51
51
|
renderId: string;
|
|
52
52
|
bucketName: string;
|
|
53
53
|
expectedBucketOwner: string;
|
|
@@ -55,4 +55,5 @@ export declare const makeOverallRenderProgress: <Provider extends CloudProvider<
|
|
|
55
55
|
timeoutTimestamp: number;
|
|
56
56
|
logLevel: LogLevel;
|
|
57
57
|
providerSpecifics: ProviderSpecifics<Provider>;
|
|
58
|
+
forcePathStyle: boolean;
|
|
58
59
|
}) => OverallProgressHelper<Provider>;
|
|
@@ -26,7 +26,7 @@ const makeInitialOverallRenderProgress = (timeoutTimestamp) => {
|
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
exports.makeInitialOverallRenderProgress = makeInitialOverallRenderProgress;
|
|
29
|
-
const makeOverallRenderProgress = ({ renderId, bucketName, expectedBucketOwner, region, timeoutTimestamp, logLevel, providerSpecifics, }) => {
|
|
29
|
+
const makeOverallRenderProgress = ({ renderId, bucketName, expectedBucketOwner, region, timeoutTimestamp, logLevel, providerSpecifics, forcePathStyle, }) => {
|
|
30
30
|
let framesRendered = [];
|
|
31
31
|
let framesEncoded = [];
|
|
32
32
|
let lambdasInvoked = [];
|
|
@@ -58,6 +58,7 @@ const makeOverallRenderProgress = ({ renderId, bucketName, expectedBucketOwner,
|
|
|
58
58
|
key: (0, client_1.overallProgressKey)(renderId),
|
|
59
59
|
privacy: 'private',
|
|
60
60
|
region,
|
|
61
|
+
forcePathStyle,
|
|
61
62
|
})
|
|
62
63
|
.then(() => {
|
|
63
64
|
// By default, upload is way too fast (~20 requests per second)
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
2
|
import type { ServerlessRoutines } from '@remotion/serverless/client';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const printCloudwatchHelper: (type: ServerlessRoutines, data: Record<string, string | boolean>, logLevel: LogLevel) => void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.printCloudwatchHelper = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
|
-
const
|
|
5
|
+
const printCloudwatchHelper = (type, data, logLevel) => {
|
|
6
6
|
const d = Object.keys(data).reduce((a, b) => {
|
|
7
7
|
return [...a, `${b}=${data[b]}`];
|
|
8
8
|
}, []);
|
|
9
9
|
const msg = [`method=${type}`, ...d].join(',');
|
|
10
10
|
renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, msg);
|
|
11
11
|
};
|
|
12
|
-
exports.
|
|
12
|
+
exports.printCloudwatchHelper = printCloudwatchHelper;
|
|
@@ -7,7 +7,7 @@ export type LambdaReadFileProgress = (progress: {
|
|
|
7
7
|
downloaded: number;
|
|
8
8
|
percent: number;
|
|
9
9
|
}) => unknown;
|
|
10
|
-
export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, logLevel, }: {
|
|
10
|
+
export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, logLevel, forcePathStyle, }: {
|
|
11
11
|
bucketName: string;
|
|
12
12
|
key: string;
|
|
13
13
|
region: AwsRegion;
|
|
@@ -16,6 +16,7 @@ export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region,
|
|
|
16
16
|
onProgress: LambdaReadFileProgress;
|
|
17
17
|
customCredentials: CustomCredentials<AwsProvider> | null;
|
|
18
18
|
logLevel: LogLevel;
|
|
19
|
+
forcePathStyle: boolean;
|
|
19
20
|
}) => Promise<{
|
|
20
21
|
sizeInBytes: number;
|
|
21
22
|
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 get_s3_client_1 = require("../../shared/get-s3-client");
|
|
8
|
-
const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, logLevel, }) => {
|
|
9
|
-
const client = (0, get_s3_client_1.getS3Client)(region, customCredentials);
|
|
8
|
+
const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, logLevel, forcePathStyle, }) => {
|
|
9
|
+
const client = (0, get_s3_client_1.getS3Client)({ region, customCredentials, forcePathStyle });
|
|
10
10
|
const command = new client_s3_1.GetObjectCommand({
|
|
11
11
|
Bucket: bucketName,
|
|
12
12
|
ExpectedBucketOwner: customCredentials ? undefined : expectedBucketOwner,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { FileNameAndSize } from '@remotion/serverless/client';
|
|
1
|
+
import type { FileNameAndSize } from './get-files-in-folder';
|
|
3
2
|
export type LambdaErrorInfo = {
|
|
4
3
|
type: 'renderer' | 'browser' | 'stitcher' | 'webhook' | 'artifact';
|
|
5
4
|
message: string;
|
|
@@ -16,7 +15,7 @@ export type LambdaErrorInfo = {
|
|
|
16
15
|
total: number;
|
|
17
16
|
} | null;
|
|
18
17
|
};
|
|
19
|
-
export declare const getTmpDirStateIfENoSp:
|
|
18
|
+
export declare const getTmpDirStateIfENoSp: (err: string) => LambdaErrorInfo['tmpDir'];
|
|
20
19
|
export type EnhancedErrorInfo = LambdaErrorInfo & {
|
|
21
20
|
/**
|
|
22
21
|
* @deprecated Will always be an empty string.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTmpDirStateIfENoSp = void 0;
|
|
4
|
+
const get_files_in_folder_1 = require("./get-files-in-folder");
|
|
4
5
|
const is_enosp_err_1 = require("./is-enosp-err");
|
|
5
|
-
const getTmpDirStateIfENoSp = (err
|
|
6
|
+
const getTmpDirStateIfENoSp = (err) => {
|
|
6
7
|
if (!(0, is_enosp_err_1.errorIsOutOfSpaceError)(err)) {
|
|
7
8
|
return null;
|
|
8
9
|
}
|
|
9
|
-
const files =
|
|
10
|
+
const files = (0, get_files_in_folder_1.getFolderFiles)('/tmp');
|
|
10
11
|
return {
|
|
11
12
|
files: files
|
|
12
13
|
.slice(0)
|
package/dist/functions/launch.js
CHANGED
|
@@ -40,6 +40,7 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
40
40
|
serialized: params.inputProps,
|
|
41
41
|
propsType: 'input-props',
|
|
42
42
|
providerSpecifics,
|
|
43
|
+
forcePathStyle: params.forcePathStyle,
|
|
43
44
|
});
|
|
44
45
|
const logOptions = {
|
|
45
46
|
indent: false,
|
|
@@ -128,12 +129,14 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
128
129
|
userSpecifiedBucketName: params.bucketName,
|
|
129
130
|
needsToUpload,
|
|
130
131
|
providerSpecifics,
|
|
132
|
+
forcePathStyle: params.forcePathStyle,
|
|
131
133
|
});
|
|
132
134
|
registerCleanupTask(() => {
|
|
133
135
|
return (0, cleanup_props_1.cleanupProps)({
|
|
134
136
|
serializedResolvedProps,
|
|
135
137
|
inputProps: params.inputProps,
|
|
136
138
|
providerSpecifics,
|
|
139
|
+
forcePathStyle: params.forcePathStyle,
|
|
137
140
|
});
|
|
138
141
|
});
|
|
139
142
|
const fps = comp.fps / params.everyNthFrame;
|
|
@@ -188,6 +191,7 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
188
191
|
compositionStart: realFrameRange[0],
|
|
189
192
|
framesPerLambda,
|
|
190
193
|
progressEveryNthFrame,
|
|
194
|
+
forcePathStyle: params.forcePathStyle,
|
|
191
195
|
};
|
|
192
196
|
return payload;
|
|
193
197
|
});
|
|
@@ -237,6 +241,7 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
237
241
|
region: providerSpecifics.getCurrentRegionInFunction(),
|
|
238
242
|
currentRegion: providerSpecifics.getCurrentRegionInFunction(),
|
|
239
243
|
providerSpecifics,
|
|
244
|
+
forcePathStyle: params.forcePathStyle,
|
|
240
245
|
});
|
|
241
246
|
if (output) {
|
|
242
247
|
throw new TypeError(`Output file "${key}" in bucket "${renderBucketName}" in region "${providerSpecifics.getCurrentRegionInFunction()}" already exists. Delete it before re-rendering, or set the 'overwrite' option in renderMediaOnLambda() to overwrite it."`);
|
|
@@ -272,6 +277,7 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
272
277
|
expectedBucketOwner: options.expectedBucketOwner,
|
|
273
278
|
downloadBehavior: params.downloadBehavior,
|
|
274
279
|
customCredentials,
|
|
280
|
+
forcePathStyle: params.forcePathStyle,
|
|
275
281
|
})
|
|
276
282
|
.then(() => {
|
|
277
283
|
renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, `Wrote artifact to S3 in ${Date.now() - start}ms`);
|
|
@@ -342,6 +348,7 @@ const innerLaunchHandler = async ({ functionName, params, options, overallProgre
|
|
|
342
348
|
overallProgress,
|
|
343
349
|
startTime,
|
|
344
350
|
providerSpecifics,
|
|
351
|
+
forcePathStyle: params.forcePathStyle,
|
|
345
352
|
});
|
|
346
353
|
return postRenderData;
|
|
347
354
|
};
|
|
@@ -445,6 +452,7 @@ const launchHandler = async (params, options, providerSpecifics) => {
|
|
|
445
452
|
timeoutTimestamp: options.getRemainingTimeInMillis() + Date.now(),
|
|
446
453
|
logLevel: params.logLevel,
|
|
447
454
|
providerSpecifics,
|
|
455
|
+
forcePathStyle: params.forcePathStyle,
|
|
448
456
|
});
|
|
449
457
|
try {
|
|
450
458
|
const postRenderData = await innerLaunchHandler({
|
|
@@ -25,6 +25,7 @@ const progressHandler = async (lambdaParams, options) => {
|
|
|
25
25
|
timeoutInMilliseconds: options.timeoutInMilliseconds,
|
|
26
26
|
customCredentials: (_a = lambdaParams.s3OutputProvider) !== null && _a !== void 0 ? _a : null,
|
|
27
27
|
providerSpecifics: options.providerSpecifics,
|
|
28
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
28
29
|
});
|
|
29
30
|
return progress;
|
|
30
31
|
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -31,6 +31,7 @@ const renderHandler = async ({ params, options, logs, onStream, providerSpecific
|
|
|
31
31
|
serialized: params.inputProps,
|
|
32
32
|
propsType: 'input-props',
|
|
33
33
|
providerSpecifics,
|
|
34
|
+
forcePathStyle: params.forcePathStyle,
|
|
34
35
|
});
|
|
35
36
|
const resolvedPropsPromise = (0, client_1.decompressInputProps)({
|
|
36
37
|
bucketName: params.bucketName,
|
|
@@ -39,6 +40,7 @@ const renderHandler = async ({ params, options, logs, onStream, providerSpecific
|
|
|
39
40
|
serialized: params.resolvedProps,
|
|
40
41
|
propsType: 'resolved-props',
|
|
41
42
|
providerSpecifics,
|
|
43
|
+
forcePathStyle: params.forcePathStyle,
|
|
42
44
|
});
|
|
43
45
|
const browserInstance = await (0, serverless_1.getBrowserInstance)({
|
|
44
46
|
logLevel: params.logLevel,
|
package/dist/functions/start.js
CHANGED
|
@@ -24,6 +24,7 @@ const startHandler = async (params, options, providerSpecifics) => {
|
|
|
24
24
|
enableFolderExpiry: null,
|
|
25
25
|
customCredentials: null,
|
|
26
26
|
providerSpecifics,
|
|
27
|
+
forcePathStyle: params.forcePathStyle,
|
|
27
28
|
})).bucketName;
|
|
28
29
|
const realServeUrl = providerSpecifics.convertToServeUrl({
|
|
29
30
|
urlOrId: params.serveUrl,
|
|
@@ -40,6 +41,7 @@ const startHandler = async (params, options, providerSpecifics) => {
|
|
|
40
41
|
key: (0, client_1.overallProgressKey)(options.renderId),
|
|
41
42
|
privacy: 'private',
|
|
42
43
|
customCredentials: null,
|
|
44
|
+
forcePathStyle: params.forcePathStyle,
|
|
43
45
|
});
|
|
44
46
|
const payload = {
|
|
45
47
|
type: client_1.ServerlessRoutines.launch,
|
|
@@ -84,6 +86,7 @@ const startHandler = async (params, options, providerSpecifics) => {
|
|
|
84
86
|
deleteAfter: params.deleteAfter,
|
|
85
87
|
colorSpace: params.colorSpace,
|
|
86
88
|
preferLossless: params.preferLossless,
|
|
89
|
+
forcePathStyle: params.forcePathStyle,
|
|
87
90
|
};
|
|
88
91
|
const stringifiedPayload = JSON.stringify(payload);
|
|
89
92
|
if (stringifiedPayload.length > 256 * 1024) {
|
package/dist/functions/still.js
CHANGED
|
@@ -52,6 +52,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
52
52
|
enableFolderExpiry: null,
|
|
53
53
|
customCredentials: null,
|
|
54
54
|
providerSpecifics,
|
|
55
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
55
56
|
}).then((b) => b.bucketName);
|
|
56
57
|
const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
|
|
57
58
|
const outputPath = node_path_1.default.join(outputDir, 'output');
|
|
@@ -64,6 +65,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
64
65
|
serialized: lambdaParams.inputProps,
|
|
65
66
|
propsType: 'input-props',
|
|
66
67
|
providerSpecifics,
|
|
68
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
67
69
|
});
|
|
68
70
|
const serveUrl = providerSpecifics.convertToServeUrl({
|
|
69
71
|
urlOrId: lambdaParams.serveUrl,
|
|
@@ -138,6 +140,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
138
140
|
expectedBucketOwner,
|
|
139
141
|
downloadBehavior: null,
|
|
140
142
|
customCredentials: null,
|
|
143
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
141
144
|
});
|
|
142
145
|
const onBrowserDownload = () => {
|
|
143
146
|
throw new Error('Should not download a browser in Lambda');
|
|
@@ -167,6 +170,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
167
170
|
expectedBucketOwner,
|
|
168
171
|
downloadBehavior: lambdaParams.downloadBehavior,
|
|
169
172
|
customCredentials,
|
|
173
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
170
174
|
})
|
|
171
175
|
.then(() => {
|
|
172
176
|
renderer_1.RenderInternals.Log.info({ indent: false, logLevel: lambdaParams.logLevel }, `Wrote artifact to S3 in ${Date.now() - startTime}ms`);
|
|
@@ -221,6 +225,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
221
225
|
region: providerSpecifics.getCurrentRegionInFunction(),
|
|
222
226
|
downloadBehavior: lambdaParams.downloadBehavior,
|
|
223
227
|
customCredentials,
|
|
228
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
224
229
|
});
|
|
225
230
|
await Promise.all([
|
|
226
231
|
node_fs_1.default.promises.rm(outputPath, { recursive: true }),
|
|
@@ -228,6 +233,7 @@ const innerStillHandler = async ({ params: lambdaParams, expectedBucketOwner, re
|
|
|
228
233
|
region: providerSpecifics.getCurrentRegionInFunction(),
|
|
229
234
|
serialized: lambdaParams.inputProps,
|
|
230
235
|
providerSpecifics,
|
|
236
|
+
forcePathStyle: lambdaParams.forcePathStyle,
|
|
231
237
|
}),
|
|
232
238
|
server.closeServer(true),
|
|
233
239
|
]);
|
package/dist/index.d.ts
CHANGED
|
@@ -49,11 +49,11 @@ declare const renderStillOnLambda: (input: RenderStillOnLambdaInput) => Promise<
|
|
|
49
49
|
/**
|
|
50
50
|
* @deprecated Import this from `@remotion/lambda/client` instead
|
|
51
51
|
*/
|
|
52
|
-
declare const presignUrl: <CheckIfObjectExists extends boolean = false>({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, }: import("./api/presign-url").PresignUrlInput<CheckIfObjectExists>) => Promise<CheckIfObjectExists extends true ? string | null : string>;
|
|
52
|
+
declare const presignUrl: <CheckIfObjectExists extends boolean = false>({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, forcePathStyle, }: import("./api/presign-url").PresignUrlInput<CheckIfObjectExists>) => Promise<CheckIfObjectExists extends true ? string | null : string>;
|
|
53
53
|
/**
|
|
54
54
|
* @deprecated Import this from `@remotion/lambda/client` instead
|
|
55
55
|
*/
|
|
56
|
-
declare const getSites: ({ region, forceBucketName, }: GetSitesInput) => Promise<GetSitesOutput>;
|
|
56
|
+
declare const getSites: ({ region, forceBucketName, forcePathStyle, }: GetSitesInput) => Promise<GetSitesOutput>;
|
|
57
57
|
export { LambdaInternals, deleteFunction, deleteRender, deleteSite, deployFunction, deploySite, downloadMedia, estimatePrice, getAwsClient, getCompositionsOnLambda, getFunctionInfo, getFunctions, getOrCreateBucket, getRegions, getRenderProgress, getRolePolicy, getSites, getUserPolicy, presignUrl, renderMediaOnLambda, renderStillOnLambda, renderVideoOnLambda, simulatePermissions, validateWebhookSignature, };
|
|
58
58
|
export type { AwsRegion, CustomCredentials, DeleteFunctionInput, DeleteRenderInput, DeleteSiteInput, DeleteSiteOutput, DeployFunctionInput, DeployFunctionOutput, DeploySiteInput, DeploySiteOutput, DownloadMediaInput, DownloadMediaOutput, EnhancedErrorInfo, EstimatePriceInput, FunctionInfo, GetAwsClientInput, GetAwsClientOutput, GetCompositionsOnLambdaInput, GetCompositionsOnLambdaOutput, GetFunctionInfoInput, GetFunctionsInput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderProgressInput, GetSitesInput, GetSitesOutput, LambdaErrorInfo, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, WebhookPayload, };
|
|
59
59
|
export { _InternalAwsProvider, _InternalOverallRenderProgress };
|
package/dist/internals.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const LambdaInternals: {
|
|
2
|
-
executeCommand: (args: string[], remotionRoot: string, logLevel: "
|
|
3
|
-
makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, x264Preset, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, encodingMaxRate, encodingBufferSize, downloadBehavior, muted, overwrite, jpegQuality, offthreadVideoCacheSizeInBytes, deleteAfter, colorSpace, preferLossless, }: import("./api/make-lambda-payload").InnerRenderMediaOnLambdaInput) => Promise<import("@remotion/serverless/client").ServerlessStartPayload<import("./functions/aws-implementation").AwsProvider>>;
|
|
4
|
-
getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, logLevel, }: import("./client").GetRenderProgressInput) => import("@remotion/serverless/client").ServerlessStatusPayload<import("./functions/aws-implementation").AwsProvider>;
|
|
5
|
-
makeLambdaRenderStillPayload: ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, offthreadVideoCacheSizeInBytes, deleteAfter, }: import("./api/render-still-on-lambda").RenderStillOnLambdaNonNullInput) => Promise<{
|
|
2
|
+
executeCommand: (args: string[], remotionRoot: string, logLevel: "error" | "verbose" | "info" | "warn", implementation: import("@remotion/serverless").ProviderSpecifics<import("./functions/aws-implementation").AwsProvider> | null) => Promise<void>;
|
|
3
|
+
makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, x264Preset, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, encodingMaxRate, encodingBufferSize, downloadBehavior, muted, overwrite, jpegQuality, offthreadVideoCacheSizeInBytes, deleteAfter, colorSpace, preferLossless, forcePathStyle, }: import("./api/make-lambda-payload").InnerRenderMediaOnLambdaInput) => Promise<import("@remotion/serverless/client").ServerlessStartPayload<import("./functions/aws-implementation").AwsProvider>>;
|
|
4
|
+
getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, logLevel, forcePathStyle, }: import("./client").GetRenderProgressInput) => import("@remotion/serverless/client").ServerlessStatusPayload<import("./functions/aws-implementation").AwsProvider>;
|
|
5
|
+
makeLambdaRenderStillPayload: ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, offthreadVideoCacheSizeInBytes, deleteAfter, forcePathStyle, }: import("./api/render-still-on-lambda").RenderStillOnLambdaNonNullInput) => Promise<{
|
|
6
6
|
type: import("@remotion/serverless/client").ServerlessRoutines.still;
|
|
7
7
|
serveUrl: string;
|
|
8
8
|
composition: string;
|
|
@@ -14,7 +14,7 @@ export declare const LambdaInternals: {
|
|
|
14
14
|
maxRetries: number;
|
|
15
15
|
frame: number;
|
|
16
16
|
privacy: import("@remotion/serverless/client").Privacy;
|
|
17
|
-
logLevel: "
|
|
17
|
+
logLevel: "error" | "verbose" | "info" | "warn";
|
|
18
18
|
outName: import("@remotion/serverless/client").OutNameInput<import("./functions/aws-implementation").AwsProvider> | null;
|
|
19
19
|
timeoutInMilliseconds: number;
|
|
20
20
|
chromiumOptions: import("@remotion/renderer").ChromiumOptions;
|
|
@@ -27,11 +27,12 @@ export declare const LambdaInternals: {
|
|
|
27
27
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
28
28
|
deleteAfter: "1-day" | "3-days" | "7-days" | "30-days" | null;
|
|
29
29
|
streamed: boolean;
|
|
30
|
+
forcePathStyle: boolean;
|
|
30
31
|
}>;
|
|
31
32
|
internalDeploySite: (args_0: {
|
|
32
33
|
entryPoint: string;
|
|
33
34
|
bucketName: string;
|
|
34
|
-
region: "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-
|
|
35
|
+
region: "us-east-1" | "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-2" | "us-west-1" | "us-west-2" | "af-south-1" | "ap-south-1" | "ap-east-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "me-south-1" | "sa-east-1";
|
|
35
36
|
} & {
|
|
36
37
|
siteName: string;
|
|
37
38
|
options: {
|
|
@@ -48,6 +49,7 @@ export declare const LambdaInternals: {
|
|
|
48
49
|
privacy: "public" | "no-acl";
|
|
49
50
|
gitSource: import("@remotion/bundler").GitSource | null;
|
|
50
51
|
indent: boolean;
|
|
52
|
+
forcePathStyle: boolean;
|
|
51
53
|
} & import("@remotion/renderer").ToOptions<{
|
|
52
54
|
readonly logLevel: {
|
|
53
55
|
cliFlag: "log";
|
|
@@ -58,11 +60,11 @@ export declare const LambdaInternals: {
|
|
|
58
60
|
getValue: ({ commandLine }: {
|
|
59
61
|
commandLine: Record<string, unknown>;
|
|
60
62
|
}) => {
|
|
61
|
-
value: "
|
|
63
|
+
value: "error" | "verbose" | "info" | "warn";
|
|
62
64
|
source: string;
|
|
63
65
|
};
|
|
64
|
-
setConfig: (newLogLevel: "
|
|
65
|
-
type: "
|
|
66
|
+
setConfig: (newLogLevel: "error" | "verbose" | "info" | "warn") => void;
|
|
67
|
+
type: "error" | "verbose" | "info" | "warn";
|
|
66
68
|
};
|
|
67
69
|
readonly throwIfSiteExists: {
|
|
68
70
|
cliFlag: string;
|
package/dist/io/delete-file.js
CHANGED
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lambdaDeleteFileImplementation = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
5
|
const get_s3_client_1 = require("../shared/get-s3-client");
|
|
6
|
-
const lambdaDeleteFileImplementation = async ({ bucketName, key, region, customCredentials, }) => {
|
|
7
|
-
await (0, get_s3_client_1.getS3Client)(region, customCredentials).send(new client_s3_1.DeleteObjectCommand({
|
|
6
|
+
const lambdaDeleteFileImplementation = async ({ bucketName, key, region, customCredentials, forcePathStyle, }) => {
|
|
7
|
+
await (0, get_s3_client_1.getS3Client)({ region, customCredentials, forcePathStyle }).send(new client_s3_1.DeleteObjectCommand({
|
|
8
8
|
Bucket: bucketName,
|
|
9
9
|
Key: key,
|
|
10
10
|
}));
|
package/dist/io/head-file.js
CHANGED
|
@@ -3,8 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lambdaHeadFileImplementation = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
5
|
const get_s3_client_1 = require("../shared/get-s3-client");
|
|
6
|
-
const lambdaHeadFileImplementation = async ({ bucketName, key, region, customCredentials, }) => {
|
|
7
|
-
const head = await (0, get_s3_client_1.getS3Client)(
|
|
6
|
+
const lambdaHeadFileImplementation = async ({ bucketName, key, region, customCredentials, forcePathStyle, }) => {
|
|
7
|
+
const head = await (0, get_s3_client_1.getS3Client)({
|
|
8
|
+
region,
|
|
9
|
+
customCredentials,
|
|
10
|
+
forcePathStyle,
|
|
11
|
+
}).send(new client_s3_1.HeadObjectCommand({
|
|
8
12
|
Bucket: bucketName,
|
|
9
13
|
Key: key,
|
|
10
14
|
}));
|
package/dist/io/list-objects.js
CHANGED
|
@@ -3,10 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lambdaLsImplementation = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
5
|
const get_s3_client_1 = require("../shared/get-s3-client");
|
|
6
|
-
const lambdaLsImplementation = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }) => {
|
|
6
|
+
const lambdaLsImplementation = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, forcePathStyle, }) => {
|
|
7
7
|
var _a, _b, _c, _d;
|
|
8
8
|
try {
|
|
9
|
-
const list = await (0, get_s3_client_1.getS3Client)(
|
|
9
|
+
const list = await (0, get_s3_client_1.getS3Client)({
|
|
10
|
+
region,
|
|
11
|
+
customCredentials: null,
|
|
12
|
+
forcePathStyle,
|
|
13
|
+
}).send(new client_s3_1.ListObjectsV2Command({
|
|
10
14
|
Bucket: bucketName,
|
|
11
15
|
Prefix: prefix,
|
|
12
16
|
ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
@@ -28,6 +32,7 @@ const lambdaLsImplementation = async ({ bucketName, prefix, region, expectedBuck
|
|
|
28
32
|
expectedBucketOwner,
|
|
29
33
|
region,
|
|
30
34
|
continuationToken: list.NextContinuationToken,
|
|
35
|
+
forcePathStyle,
|
|
31
36
|
})),
|
|
32
37
|
];
|
|
33
38
|
}
|
|
@@ -46,7 +51,11 @@ const lambdaLsImplementation = async ({ bucketName, prefix, region, expectedBuck
|
|
|
46
51
|
}
|
|
47
52
|
// Prevent from accessing a foreign bucket, retry without ExpectedBucketOwner and see if it works. If it works then it's an owner mismatch.
|
|
48
53
|
if ((_d = err.stack) === null || _d === void 0 ? void 0 : _d.includes('AccessDenied')) {
|
|
49
|
-
await (0, get_s3_client_1.getS3Client)(
|
|
54
|
+
await (0, get_s3_client_1.getS3Client)({
|
|
55
|
+
region,
|
|
56
|
+
customCredentials: null,
|
|
57
|
+
forcePathStyle,
|
|
58
|
+
}).send(new client_s3_1.ListObjectsV2Command({
|
|
50
59
|
Bucket: bucketName,
|
|
51
60
|
Prefix: prefix,
|
|
52
61
|
}));
|
package/dist/io/read-file.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Readable } from 'stream';
|
|
3
3
|
import type { AwsRegion } from '../regions';
|
|
4
|
-
export declare const lambdaReadFileImplementation: ({ bucketName, key, region, expectedBucketOwner, }: {
|
|
4
|
+
export declare const lambdaReadFileImplementation: ({ bucketName, key, region, expectedBucketOwner, forcePathStyle, }: {
|
|
5
5
|
bucketName: string;
|
|
6
6
|
key: string;
|
|
7
7
|
region: AwsRegion;
|
|
8
8
|
expectedBucketOwner: string;
|
|
9
|
+
forcePathStyle: boolean;
|
|
9
10
|
}) => Promise<Readable>;
|
package/dist/io/read-file.js
CHANGED
|
@@ -3,8 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lambdaReadFileImplementation = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
5
|
const get_s3_client_1 = require("../shared/get-s3-client");
|
|
6
|
-
const lambdaReadFileImplementation = async ({ bucketName, key, region, expectedBucketOwner, }) => {
|
|
7
|
-
const { Body } = await (0, get_s3_client_1.getS3Client)(
|
|
6
|
+
const lambdaReadFileImplementation = async ({ bucketName, key, region, expectedBucketOwner, forcePathStyle, }) => {
|
|
7
|
+
const { Body } = await (0, get_s3_client_1.getS3Client)({
|
|
8
|
+
region,
|
|
9
|
+
customCredentials: null,
|
|
10
|
+
forcePathStyle,
|
|
11
|
+
}).send(new client_s3_1.GetObjectCommand({
|
|
8
12
|
Bucket: bucketName,
|
|
9
13
|
Key: key,
|
|
10
14
|
ExpectedBucketOwner: expectedBucketOwner,
|
package/dist/io/write-file.js
CHANGED
|
@@ -8,8 +8,12 @@ const client_s3_1 = require("@aws-sdk/client-s3");
|
|
|
8
8
|
const mime_types_1 = __importDefault(require("mime-types"));
|
|
9
9
|
const content_disposition_header_1 = require("../shared/content-disposition-header");
|
|
10
10
|
const get_s3_client_1 = require("../shared/get-s3-client");
|
|
11
|
-
const tryLambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }) => {
|
|
12
|
-
await (0, get_s3_client_1.getS3Client)(
|
|
11
|
+
const tryLambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, forcePathStyle, }) => {
|
|
12
|
+
await (0, get_s3_client_1.getS3Client)({
|
|
13
|
+
region,
|
|
14
|
+
customCredentials: customCredentials,
|
|
15
|
+
forcePathStyle,
|
|
16
|
+
}).send(new client_s3_1.PutObjectCommand({
|
|
13
17
|
Bucket: bucketName,
|
|
14
18
|
Key: key,
|
|
15
19
|
Body: body,
|