This package provides a simple way to use Azure Blob Storage with Payload.
NOTE: This package removes the need to use @payloadcms/plugin-cloud-storage
as was needed in Payload 2.x.
pnpm add @payloadcms/storage-azure
- Configure the
collections
object to specify which collections should use the Azure Blob Storage adapter. The slug must match one of your existing collection slugs. - When enabled, this package will automatically set
disableLocalStorage
totrue
for each collection. - When deploying to Vercel, server uploads are limited with 4.5MB. Set
clientUploads
totrue
to do uploads directly on the client. You must allow CORS PUT method to your website.
import { azureStorage } from '@payloadcms/storage-azure'
import { Media } from './collections/Media'
import { MediaWithPrefix } from './collections/MediaWithPrefix'
export default buildConfig({
collections: [Media, MediaWithPrefix],
plugins: [
azureStorage({
collections: {
media: true,
'media-with-prefix': {
prefix,
},
},
allowContainerCreate: process.env.AZURE_STORAGE_ALLOW_CONTAINER_CREATE === 'true',
baseURL: process.env.AZURE_STORAGE_ACCOUNT_BASEURL,
connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
containerName: process.env.AZURE_STORAGE_CONTAINER_NAME,
}),
],
})
Option | Description | Default |
---|---|---|
enabled |
Whether or not to enable the plugin | true |
collections |
Collections to apply the Azure Blob adapter to | |
allowContainerCreate |
Whether or not to allow the container to be created if it does not exist | false |
baseURL |
Base URL for the Azure Blob storage account | |
connectionString |
Azure Blob storage connection string | |
containerName |
Azure Blob storage container name | |
clientUploads |
Do uploads directly on the client to bypass limits on Vercel. |