技能 azure-data-tables-java
📦

azure-data-tables-java

安全

使用 Java 构建 Azure 表存储应用

需要大规模存储结构化 NoSQL 数据?本技能帮助您使用 Azure Tables SDK for Java 实现表存储解决方案,包含正确的认证方式和高效的查询模式。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“azure-data-tables-java”。 创建实体并处理冲突错误

预期结果:

TableEntity entity = new TableEntity("products", "laptop-001").addProperty("Name", "Laptop").addProperty("Price", 999.99);
try {
tableClient.createEntity(entity);
} catch (TableServiceException e) {
if (e.getResponse().getStatusCode() == 409) {
System.out.println("Entity already exists - use upsert instead");
}
}

正在使用“azure-data-tables-java”。 使用过滤和投影查询

预期结果:

ListEntitiesOptions options = new ListEntitiesOptions()
.setFilter("PartitionKey eq 'electronics' and Price gt 100")
.setSelect("Name", "Price")
.setTop(10);
for (TableEntity entity : tableClient.listEntities(options, null, null)) {
System.out.printf("%s: $%.2f%n", entity.getProperty("Name"), entity.getProperty("Price"));
}

安全审计

安全
v1 • 2/24/2026

This skill is safe for publication. All static analysis findings are false positives. The external_commands detections are Java code examples in markdown format, not shell execution. URL references are environment variable documentation examples, not hardcoded endpoints. The cryptographic and system reconnaissance flags are incorrect pattern matches on documentation text and getter method names.

1
已扫描文件
340
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

应用状态存储

存储用户会话、应用设置或功能标志,使用基于分区的快速查找

物联网遥测数据

使用设备 ID 作为分区键、时间戳作为行键来摄取和查询传感器数据

产品目录管理

使用基于类别的分区维护产品库存,高效查询价格和库存状态

试试这些提示

初始化表客户端
使用连接字符串认证创建 TableServiceClient,然后创建名为 'inventory' 的表(如果不存在)。
CRUD 实体操作
演示如何创建具有分区键 'products'、行键 'laptop-001' 以及 Name、Price 和 Quantity 属性的新实体。然后检索并更新价格。
过滤查询
查询分区键等于 'electronics' 且价格大于 100 的所有实体,仅返回 Name 和 Price 属性,最多 10 条结果。
批量事务
创建一个批量事务,原子地插入三个具有相同分区键 'batch' 和行键 'row1'、'row2'、'row3' 的实体。

最佳实践

  • 设计分区键以均匀分发查询并避免热点
  • 查询时始终按分区键进行过滤以获得最佳性能
  • 对共享相同分区键的实体使用批量事务进行原子更新

避免

  • 使用时间戳或顺序值作为分区键会导致负载分布不均
  • 不带分区键过滤的查询会导致全表扫描,性能很差
  • 存储超过大小限制的实体会导致失败——存储账户保持在 1MB 以下,Cosmos DB 保持在 2MB 以下

常见问题

Azure Table Storage 和 Cosmos DB 表 API 有什么区别?
Azure Table Storage 提供经济高效的键值存储,实体限制为 1MB。Cosmos DB 表 API 提供全球分发、更低的延迟和 2MB 的实体限制,但成本更高。
如何选择好的分区键?
选择具有高基数且能均匀分发查询的属性。常见模式包括用户 ID、设备 ID 或基于访问模式的类别代码。
我可以只更新实体的某一个属性吗?
可以,使用 updateEntity 配合 TableEntityUpdateMode.MERGE 仅更新指定属性,或使用 REPLACE 覆盖整个实体。
支持哪些认证方法?
连接字符串、共享密钥、SAS 令牌和 DefaultAzureCredential(仅适用于 Table Storage,不适用于 Cosmos DB 表 API)。
批量事务中可以包含多少个实体?
批量操作每个事务最多支持 100 个实体,所有实体共享相同的分区键,总 payload 大小不超过 4MB。
409 冲突错误是什么意思?
409 状态码表示实体已存在。使用 upsertEntity 代替 createEntity,或捕获异常后使用 updateEntity 重试。

开发者详情

文件结构

📄 SKILL.md