databendlabs/databend · error · InvalidInput
{err}
Error message
{err} What it means
A generic wrapper in parse_azure_params: after building the Azure blob StorageParams, l.connection.check() validates the connection options, and any validation failure it returns is re-wrapped as ErrorKind::InvalidInput with the original message as {err}. It fires when the LOCATION connection options for an Azure endpoint are invalid (e.g. bad account/key combination or unsupported option).
Solutions
- Check the location's connection dictionary keys and values; the error fires when connection.check() rejects the supplied azure credentials/settings.
- Verify account_name, account_key and endpoint are consistent and non-empty where required.
- Pass a correctly configured CONNECTION or STAGE so l.connection.check() succeeds before binding.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/query/sql/src/planner/binder/location.rs:87 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of databendlabs/databend@288d84d76e (2026-09-11).
Data as JSON: /api/errors/230e5bead84746d9.
Report an issue: GitHub.
Appendix: source
Thrown at src/query/sql/src/planner/binder/location.rs:87
)
})?;
let endpoint = secure_omission(endpoint);
let sp = StorageParams::Azblob(StorageAzblobConfig {
endpoint_url: endpoint,
container: l.name.to_string(),
account_name: l
.connection
.get("account_name")
.cloned()
.unwrap_or_default(),
account_key: l.connection.get("account_key").cloned().unwrap_or_default(),
root,
network_config: None,
});
l.connection
.check()
.map_err(|err| Error::new(ErrorKind::InvalidInput, err.to_string()))?;
Ok(sp)
}
fn parse_s3_params(l: &mut UriLocation, root: String) -> Result<StorageParams> {
let endpoint = l
.connection
.get("endpoint_url")
.cloned()
.unwrap_or_else(|| STORAGE_S3_DEFAULT_ENDPOINT.to_string());
let endpoint = secure_omission(endpoint);
// we split those field out to make borrow checker happy.
let region = l.connection.get("region").cloned().unwrap_or_default();
let access_key_id = {
if let Some(id) = l.connection.get("access_key_id") {
idView on GitHub (pinned to 288d84d76e)