{"record":{"id":"48ae03f496f92042","repo":"benbjohnson/litestream","slug":"cannot-specify-url-bucket-for-abs-replica","errorCode":null,"errorMessage":"cannot specify url & bucket for abs replica","messagePattern":"cannot specify url & bucket for abs replica","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/litestream/main.go","lineNumber":1763,"sourceCode":"\t// Ensure required settings are set.\n\tif bucket == \"\" {\n\t\treturn nil, fmt.Errorf(\"bucket required for gs replica\")\n\t}\n\n\t// Build replica.\n\tclient := gs.NewReplicaClient()\n\tclient.Bucket = bucket\n\tclient.Path = configPath\n\treturn client, nil\n}\n\n// newABSReplicaClientFromConfig returns a new instance of abs.ReplicaClient built from config.\nfunc newABSReplicaClientFromConfig(c *ReplicaConfig, _ *litestream.Replica) (_ *abs.ReplicaClient, err error) {\n\t// Ensure URL & constituent parts are not both specified.\n\tif c.URL != \"\" && c.Path != \"\" {\n\t\treturn nil, fmt.Errorf(\"cannot specify url & path for abs replica\")\n\t} else if c.URL != \"\" && c.Bucket != \"\" {\n\t\treturn nil, fmt.Errorf(\"cannot specify url & bucket for abs replica\")\n\t}\n\n\t// Build replica.\n\tclient := abs.NewReplicaClient()\n\tclient.AccountName = c.AccountName\n\tclient.AccountKey = c.AccountKey\n\tclient.SASToken = c.SASToken\n\tclient.Bucket = c.Bucket\n\tclient.Path = c.Path\n\tclient.Endpoint = c.Endpoint\n\n\t// Apply settings from URL, if specified.\n\tif c.URL != \"\" {\n\t\tu, err := url.Parse(c.URL)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n","sourceCodeStart":1745,"sourceCodeEnd":1781,"githubUrl":"https://github.com/benbjohnson/litestream/blob/4ed7a308f6271ebfd2b0a6e4b70b03011a37e4a3/cmd/litestream/main.go#L1745-L1781","documentation":"Validation guard in newABSReplicaClientFromConfig that rejects an Azure Blob Storage replica config specifying both the full replica 'url' and the 'bucket' (container) field, which would be contradictory. Fires when ReplicaConfig.URL and ReplicaConfig.Bucket are both set.","triggerScenarios":"Thrown at cmd/litestream/main.go:1763 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove either url or bucket from the abs replica config"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4ed7a308f6271ebfd2b0a6e4b70b03011a37e4a3","analyzedAt":"2026-09-06T18:29:25.564Z","contentChangedAt":"2026-09-06T18:29:25.564Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}