Azure Tables Java Skill
Build Java applications for Azure Table Storage and the Cosmos DB Table API.
The skill transparently presents connection-string, shared-key, SAS, and DefaultAzureCredential paths and uses placeholders; however, it lacks least-privilege guidance, user confirmation, secret-management guidance, sensitive-data logging warnings, and rollback for destructive operations, so points are deducted.
The main paths cover client creation, CRUD, queries, batching, async usage, and error handling, with additional reference examples; however, the static material provides no skill-specific reproducible tests, uses a beta dependency, and gives limited abnormal-input and compatibility guidance, so the score is capped and reduced.
The audience, Azure Tables/Cosmos DB Table API scenarios, Java target, and trigger phrases are reasonably clear; non-fit boundaries, required service prerequisites, input/output boundaries, Chinese support, and mainland-China network reachability are not addressed, so points are deducted.
The documentation has clear sections for installation, concepts, core patterns, errors, environment variables, best practices, and examples; license, author, and version metadata are present, but there is no changelog, explicit maintenance/update path, FAQ, or comprehensive limitations section, and the dependency is beta.
The material supplies directly reusable templates for common table clients, entity CRUD, queries, and transactions, so the core value is plausible; however, there is no skill-specific output verification, complete project setup, committed validation, or comparison with alternatives, leaving substantial manual review.
Revision-pinned source material, repository-level CI, and harness tests provide some auditability, but no skill-specific test suite, acceptance criteria, or third-party execution evidence is shown, and this review did not execute the code; therefore evidence is limited.
- The examples expose connection-string, account-key, and SAS authentication paths; avoid hard-coding or logging credentials and prefer appropriately scoped managed identity and RBAC in practice.
- The skill includes deleteTable, deleteEntity, upsert, and replace examples without confirmation, backup, or recovery guidance; manually verify targets and data impact before use.
- The dependency is version 12.6.0-beta.1; verify the appropriate stable version, API compatibility, and transitive-dependency security before adoption.
- The documentation does not address Azure service-region, network-access, or mainland-China reachability constraints.
What it does & when to use it
This skill supports Java development with the Azure Tables SDK for Java across Azure Table Storage and the Cosmos DB Table API. It covers Maven setup, client authentication, table and entity management, queries, batch transactions, typed entities, and error handling. It explains partition keys, row keys, entity properties, and service-specific entity size limits. It is a good fit for developers building schemaless key-value or structured table data access in Java.
Provides Java implementation patterns for adding the Maven dependency, creating TableServiceClient and TableClient instances, creating and deleting tables, creating, reading, updating, upserting, and deleting entities, listing and filtering entities, applying OData filters and projections, submitting same-partition batch transactions, defining typed entities, and catching TableServiceException. It also documents connection-string, shared-key, SAS-token, and DefaultAzureCredential authentication patterns together with relevant environment variables.
- A Java developer building an Azure Table Storage CRUD service can use the client, table, entity, and query examples.
- A team storing schemaless key-value data through the Cosmos DB Table API can use the endpoint, entity, and filtering patterns.
- A developer designing scalable table access can apply the partition-key guidance, PartitionKey filters, property projection, and entity-size limits.
- A developer needing atomic multi-entity changes within one partition can adapt the batch transaction example.
- A Java team managing different local and production authentication setups can use the connection string, shared key, SAS, and managed identity examples.
Pros & cons
- Supports both Azure Table Storage and the Cosmos DB Table API.
- Includes connection-string, shared-key, SAS-token, and DefaultAzureCredential examples.
- Covers table administration, entity CRUD, OData filtering, projection, typed entities, and batch transactions.
- The README reports 11 test scenarios for this skill.
- The repository is MIT-licensed and actively maintained.
- The example dependency is version 12.6.0-beta.1, a beta release.
- The DefaultAzureCredential example is explicitly labeled for Storage only.
- The source does not document a complete deployment workflow, performance benchmarks, or comprehensive API coverage.
- Batch transactions require all entities to use the same partition key.
How to install
Install the repository collection in an Agent Skills-compatible client with: npx skills add microsoft/skills. Choose the required skill in the installation wizard; the skill file is .github/plugins/azure-sdk-java/skills/azure-data-tables-java/SKILL.md. Add com.azure:azure-data-tables:12.6.0-beta.1 to the Java project's pom.xml.
How to use
Use a trigger request such as: “Build a Java service with the Azure Tables SDK for entity CRUD and PartitionKey-filtered queries” or “Create a Java batch transaction example for the Cosmos DB Table API.” The skill supplies patterns for client creation, authentication, entity operations, queries, transactions, and exception handling.
Compared to similar skills
The skill targets both Azure Table Storage and the Cosmos DB Table API, but it does not compare their features, costs, or performance. The service choice remains a project-level decision.