1. Answers
  2. Uploading Folder to S3 without Prefix

How do I upload a folder to S3 without adding the bucket name prefix?

In this guide, we will demonstrate how to upload a folder to an AWS S3 bucket without adding the bucket name prefix using Pulumi. We will use the synced-folder package to sync a local folder to an S3 bucket, ensuring that the files are uploaded directly without any additional prefixes.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as syncedFolder from "@pulumi/synced-folder";

// Create an S3 bucket
const bucket = new aws.s3.Bucket("my-bucket");

// Define the local folder path that you want to upload
const localFolderPath = "path/to/local/folder";

// Sync the local folder to the S3 bucket without adding the bucket name prefix
const folderSync = new syncedFolder.S3BucketFolder("myFolderSync", {
    path: localFolderPath,
    bucketName: bucket.bucket,
    managedObjects: true,
    includeHiddenFiles: false,
    acl: "private",
});

// Export the S3 bucket name and URL
export const bucketName = bucket.bucket;
export const bucketUrl = bucket.websiteEndpoint;

Key Points

  • Bucket Creation: We start by creating an S3 bucket using the aws.s3.Bucket resource.
  • Folder Sync: We use the synced-folder package to sync a local folder to the S3 bucket. The path parameter specifies the local folder, and the bucketName parameter specifies the target S3 bucket.
  • No Prefix: By configuring the synced-folder resource appropriately, we ensure that files are uploaded directly without any additional prefixes.
  • Exports: Finally, we export the bucket name and URL for easy reference.

Summary

We have successfully demonstrated how to upload a folder to an AWS S3 bucket without adding the bucket name prefix using Pulumi. This method ensures that the files are uploaded directly to the bucket without any additional prefixes, making it easy to manage and access the files.

Deploy this code

Want to deploy this code? Sign up for a free Pulumi account to deploy in a few clicks.

Sign up

New to Pulumi?

Want to deploy this code? Sign up with Pulumi to deploy in a few clicks.

Sign up