appsmithorg/appsmith · error · AppsmithPluginException
PE-DSE-5003
PE-DSE-5003
Error message
Appsmith S3 plugin service has failed to identify the S3 service provider type. Please reach out to Appsmith customer support to resolve this.
What it means
Thrown by S3ServiceProvider.fromString() when the supplied provider name does not match any known enum value (S3ErrorMessages.S3_SERVICE_PROVIDER_IDENTIFICATION_ERROR_MSG, code PE-DSE-5003). fromString iterates AMAZON, GOOGLE_CLOUD_STORAGE, UPCLOUD, WASABI, DIGITAL_OCEAN_SPACES, DREAM_OBJECTS, MINIO and 'other'; a name outside this set (case-insensitive) throws.
Source
Thrown at app/server/appsmith-plugins/amazons3Plugin/src/main/java/com/external/utils/DatasourceUtils.java:89
DREAM_OBJECTS("dream-objects"),
MINIO("minio"),
GOOGLE_CLOUD_STORAGE("google-cloud-storage"),
OTHER("other");
private String name;
S3ServiceProvider(String name) {
this.name = name;
}
public static S3ServiceProvider fromString(String name) throws AppsmithPluginException {
for (S3ServiceProvider s3ServiceProvider : S3ServiceProvider.values()) {
if (s3ServiceProvider.name.equals(name.toLowerCase())) {
return s3ServiceProvider;
}
}
throw new AppsmithPluginException(
AppsmithPluginError.PLUGIN_DATASOURCE_ARGUMENT_ERROR,
S3ErrorMessages.S3_SERVICE_PROVIDER_IDENTIFICATION_ERROR_MSG);
}
}
/**
* This method builds an `AmazonS3ClientBuilder` object from the datasourceConfiguration provided by user. The
* `AmazonS3ClientBuilder` object can then be used to get a connection object to connect to the S3 service.
*
* @param datasourceConfiguration
* @return AmazonS3ClientBuilder object
* @throws AppsmithPluginException when (1) there is an error with parsing credentials (2) required
* datasourceConfiguration properties are missing (3) endpoint URL is found incorrect.
*/
public static AmazonS3ClientBuilder getS3ClientBuilder(DatasourceConfiguration datasourceConfiguration)
throws AppsmithPluginException {
log.debug(Thread.currentThread().getName() + ": getS3ClientBuilder action called.");
DBAuth authentication = (DBAuth) datasourceConfiguration.getAuthentication();View on GitHub (pinned to 8cd9021c24)
Solutions
- Select a supported provider from the 'S3 Service Provider' dropdown (Amazon S3, Google Cloud Storage, Upcloud, Wasabi, DigitalOcean Spaces, Dream Objects, MinIO, or Other).
- If the datasource JSON was hand-edited, reset the provider property to a valid enum name and re-save.
- For a truly custom provider, choose 'Other' and supply the endpoint URL and region explicitly.
Example fix
// before: unknown provider // "S3 Service Provider": "backblaze" // after: use 'other' with explicit endpoint // provider: "other", endpoint URL: "https://s3.us-west-004.backblazeb2.com"
Defensive patterns
Strategy: validation
Validate before calling
// Validate the provider is one of the known enum names (case-insensitive)
const ALLOWED = ['amazon-s3','google-cloud-storage','upcloud','wasabi','digital-ocean','dream-objects','minio','other'];
const p = (this.params.serviceProvider || '').toLowerCase();
if (!ALLOWED.includes(p)) throw new Error('Unknown S3 service provider: ' + p); Type guard
function isKnownProvider(v) {
const ALLOWED = ['amazon-s3','google-cloud-storage','upcloud','wasabi','digital-ocean','dream-objects','minio','other'];
return typeof v === 'string' && ALLOWED.includes(v.toLowerCase());
} Prevention
- Always pick the provider from the dropdown rather than typing it.
- For custom providers, choose 'Other' and supply the endpoint explicitly.
- After upgrades, re-save the datasource so the provider value matches the enum.
When it happens
Trigger: The 'S3 Service Provider' dropdown value passed to fromString is not one of the recognized provider identifiers — e.g. a custom/typo value injected into the datasource properties, or a new provider name added to the UI that the enum does not yet know.
Common situations: Manually editing datasource JSON and entering an unknown provider string; a UI/plugin version mismatch where the frontend offers a provider the backend enum lacks; localization changing the stored value.
Related errors
AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12).
Data as JSON: /api/errors/6c532586b02afd7e.
Report an issue: GitHub.