{"record":{"id":"2a61015a203fd591","repo":"apache/dolphinscheduler","slug":"containername-containername-is-not-exists-you","errorCode":null,"errorMessage":"containerName: <containerName> is not exists, you need to create them by yourself","messagePattern":"containerName: <containerName> is not exists, you need to create them by yourself","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote/AbsRemoteLogHandler.java","lineNumber":79,"sourceCode":"\n        return instance;\n    }\n\n    protected BlobContainerClient buildBlobContainerClient() {\n\n        BlobServiceClient serviceClient = new BlobServiceClientBuilder()\n                .endpoint(String.format(\"https://%s.blob.core.windows.net/\", accountName))\n                .credential(new StorageSharedKeyCredential(accountName, accountKey))\n                .buildClient();\n\n        if (StringUtils.isBlank(containerName)) {\n            throw new IllegalArgumentException(\"remote.logging.abs.container.name is blank\");\n        }\n\n        try {\n            this.blobContainerClient = serviceClient.getBlobContainerClient(containerName);\n        } catch (Exception ex) {\n            throw new IllegalArgumentException(\n                    \"containerName: \" + containerName + \" is not exists, you need to create them by yourself\");\n        }\n\n        log.info(\"containerName: {} has been found.\", containerName);\n\n        return blobContainerClient;\n    }\n\n    @Override\n    public void close() throws IOException {\n        // no need to close blobContainerClient\n    }\n\n    @Override\n    public void sendRemoteLog(String logPath) {\n        String objectName = RemoteLogUtils.getObjectNameFromLogPath(logPath);\n\n        try {","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/apache/dolphinscheduler/blob/02eac45a1b6676e639fcbfb4be2243de5771b05d/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote/AbsRemoteLogHandler.java#L61-L97","documentation":"AbsRemoteLogHandler.buildBlobContainerClient() wraps any failure to obtain the Azure Blob container client in an IllegalArgumentException stating the container does not exist. The Azure SDK's getBlobContainerClient is lazy, so this catch is a coarse signal that the container could not be resolved/created — typically it truly does not exist in the storage account (or credentials/endpoint are wrong).","triggerScenarios":"Remote logging to ABS enabled with a container name that does not exist in the configured storage account (or wrong account/key so the container check fails) when the handler initializes buildBlobContainerClient().","commonSituations":"Typo in remote.logging.abs.container.name; container created in a different storage account/region than the configured one; account key wrong so access fails and is reported as not-exists.","solutions":["Create the container manually (Azure Portal, az storage container create --name <name> --account-name <account>) as the message instructs.","Double-check remote.logging.abs.container.name spelling and that it matches the container in the account configured by remote.logging.abs.account.name/key.","Verify storage account credentials; a wrong account key can surface as this not-exists error."],"exampleFix":"// before\nremote.logging.abs.container.name=dolpscheduler-logs  // typo, container missing\n\n// after\naz storage container create --name dolphinscheduler-logs \\\n  --account-name <account> --account-key <key>\nremote.logging.abs.container.name=dolphinscheduler-logs","handlingStrategy":"validation","validationCode":"BlobServiceClient sc = new BlobServiceClientBuilder()\n        .endpoint(String.format(\"https://%s.blob.core.windows.net/\", accountName))\n        .credential(new StorageSharedKeyCredential(accountName, accountKey))\n        .buildClient();\nif (!sc.getBlobContainerClient(containerName).exists()) {\n    throw new IllegalStateException(\"Container \" + containerName + \" missing; create it before enabling ABS remote logging\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    initRemoteLogHandler();\n} catch (IllegalArgumentException e) {\n    log.error(\"ABS remote logging failed: {} — verify container exists and credentials are correct\", e.getMessage());\n}","preventionTips":["Pre-create the blob container with az CLI/Terraform before enabling remote logging.","Verify account name/key by listing containers first; rule out credential issues.","Match container names exactly (case-sensitive) between config and Azure."],"tags":["azure","blob-storage","remote-logging","resource-not-found"],"backgroundTag":"resource-not-found","analyzedSha":"02eac45a1b6676e639fcbfb4be2243de5771b05d","analyzedAt":"2026-09-06T17:43:00.555Z","contentChangedAt":"2026-09-06T17:43:00.555Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}