Hello,
Welcome to Microsoft Q&A,
- Using Azure Identity (Recommended for Managed Identity & Azure AD):
Use DefaultAzureCredential to automatically select the best credential (ideal for Managed Identity, Environment variables, or developer login).
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.storage.blob.BlobContainerClient;
import com.azure.storage.blob.BlobContainerClientBuilder;
BlobContainerClient client = new BlobContainerClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint("https://<your-storage-account>.blob.core.windows.net/<your-container>")
.buildClient();
- Using a Connection String (Not recommended for production)
String connectionString = "DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net";
BlobContainerClient client = new BlobContainerClientBuilder()
.connectionString(connectionString)
.containerName("your-container-name")
.buildClient();
- Using a Shared Access Signature (SAS)
Use a SAS token to give limited access.
String sasUrl = "https://<your-storage-account>.blob.core.windows.net/<your-container>?<sas-token>";
BlobContainerClient client = new BlobContainerClientBuilder()
.endpoint(sasUrl)
.buildClient();
https://learn.microsoft.com/en-us/java/api/overview/azure/identity-readme?view=azure-java-stable
Please Upvote and accept the answer if it helps!!