s3-migrate
Version:
A CLI tool for migrating objects between S3-compatible storage buckets with resumable state tracking.
31 lines • 1.2 kB
JavaScript
import { S3Client } from '@aws-sdk/client-s3';
function getCredentialsForPrefix(envPrefix) {
const prefixes = [envPrefix, ''];
for (const prefix of prefixes) {
if (process.env[`${prefix}AWS_ACCESS_KEY_ID`] &&
process.env[`${prefix}AWS_SECRET_ACCESS_KEY`]) {
return {
accessKeyId: process.env[`${prefix}AWS_ACCESS_KEY_ID`],
secretAccessKey: process.env[`${prefix}AWS_SECRET_ACCESS_KEY`],
sessionToken: process.env[`${prefix}AWS_SESSION_TOKEN`],
};
}
}
return undefined;
}
export function createS3Client(envPrefix, checksums = 'WHEN_SUPPORTED') {
const config = {
region: process.env[`${envPrefix}AWS_REGION`] ||
process.env.AWS_REGION ||
process.env.DEFAULT_AWS_REGION,
endpoint: process.env[`${envPrefix}ENDPOINT`] || process.env.ENDPOINT,
requestChecksumCalculation: checksums,
responseChecksumValidation: checksums,
};
const credentials = getCredentialsForPrefix(envPrefix);
if (credentials) {
config.credentials = credentials;
}
return new S3Client(config);
}
//# sourceMappingURL=client.js.map