JSON is probably the right approach, it already handles binary as a value
using Base64 encoding.

  However, passing JSON on the command line is tricky with the quoting and
it might need to be on one line. I think the best approach here is for the
client tool to read the JSON from a file.

  I asked Gemini to create a JSON schema (below) using Base64 encoding and
only requiring the row.

{
  "$schema": "https://json-schema.org";,
  "title": "AccumuloKeyBase64RowRequired",
  "type": "object",
  "description": "Accumulo Key object with base64 binary fields where only
the row is required",
  "properties": {
    "row": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Base64 encoded row ID byte array"
    },
    "columnFamily": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Base64 encoded column family byte array"
    },
    "columnQualifier": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Base64 encoded column qualifier byte array"
    },
    "columnVisibility": {
      "type": "string",
      "description": "Plain ASCII string representing security expressions"
    },
    "timestamp": {
      "type": "integer",
      "minimum": 0,
      "description": "64-bit millisecond epoch version timestamp"
    }
  },
  "required": [
    "row"
  ]
}


On Fri, Aug 14, 2026 at 5:11 PM Christopher <[email protected]> wrote:

> Accumulo Devs,
>
> In the context of my comment at
> https://github.com/apache/accumulo/pull/5959#pullrequestreview-4941125333,
> I was wondering if anybody had any ideas for a standard KEYSPEC format
> to express an Accumulo entry key in a standard way for client tools.
> Is JSON the right approach? Or some standard delimiter with special
> characters to denote binary? I feel like there's a bunch of options
> here, but if we can formalize the spec, it would make feature
> decisions for CLI tools and parsing implementations easier.
>
> Thoughts?
>

Reply via email to