# Build Azure Blob Storage Apps in Java

Azure Blob Storage workflows require precise Java SDK patterns for authentication, transfer, metadata, and lifecycle operations. This skill provides focused implementation guidance and examples.

## Install

```bash
npx skillstore add sickn33/azure-storage-blob-java
```

## Metadata

- Status: approved
- Slug: sickn33-azure-storage-blob-java
- Skillstore revision: r2
- Version status: missing
- Tree hash: bd13ebf16eb4e81384b34e9d43ffc1f66d58727586f48a7579efe3c507906eaa
- Author: sickn33
- GitHub username: sickn33
- License: MIT
- Repository: https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-blob-java
- Ref: f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 78
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/sickn33-azure-storage-blob-java
- Manifest: https://skillstore.pages.dev/api/skills/sickn33-azure-storage-blob-java/manifest

## Capabilities

- Shows Maven dependency configuration for the Azure Storage Blob SDK.
- Explains client creation with SAS tokens, connection strings, or DefaultAzureCredential.
- Covers container and blob creation, listing, upload, download, copy, and deletion.
- Demonstrates stream transfers, conditional uploads, metadata, headers, and properties.
- Provides patterns for SAS generation, blob leases, proxy configuration, and SDK error handling.

## Use Cases

- Implement Blob Transfers: Create upload and download flows using files, streams, BinaryData, and conditional request options.
- Design Storage Integrations: Select authentication, metadata, copy, listing, and lease patterns for an Azure storage service.
- Review SDK Usage: Check Java blob operations for suitable clients, request conditions, error handling, and credential placeholders.

## Prompt Templates

### Create a Blob Client

```
Show how to create an Azure BlobServiceClient in Java using DefaultAzureCredential for endpoint [account URL].
```

### Upload a File

```
Create a Java pattern that uploads [local path] to [container/blob name], overwrites when requested, and sets [content type].
```

### Stream and Organize Blobs

```
Design a Java workflow to stream [data source], apply metadata, prevent accidental overwrite, and list results under prefix [prefix].
```

### Design a Controlled Copy Service

```
Plan a Java blob copy service using [authentication method], short-lived access, request conditions, lease coordination, and structured error handling.
```

## Limitations

- Provides reference examples rather than a complete runnable application.
- Does not configure Azure accounts, identities, roles, networks, or storage policies.
- Does not validate SDK compatibility, permissions, or behavior in a specific environment.
- Uses placeholders for endpoints and credentials; users must provide secure values.

## Best Practices

- Prefer DefaultAzureCredential and role-based access over embedded connection strings or long-lived SAS tokens.
- Use request conditions, limited permissions, and short expirations for write-sensitive operations.
- Validate endpoints, blob names, file paths, transfer sizes, and SDK errors in the target environment.

## Anti Patterns

- Do not hardcode credentials, connection strings, account keys, or generated SAS tokens in source code.
- Do not enable overwrite, delete snapshots, or broad container permissions without an explicit requirement.
- Do not log tokens, connection strings, sensitive metadata, or downloaded content.

## Security Audit

- Audited at: 2026-07-23T23:14:16.769\+00:00
- Summary: All 49 external-command findings are false positives caused by Markdown code fences around XML, Java, and Bash examples. The URL finding is a standard Azure endpoint template with a placeholder account name.

## Stats

- Views: 102
- Downloads: 12
- Favorites: 0
- Popularity score: 0
