Bean & Bark: set up the table
Start with a running DynamoDB database, then load the sample and read three known orders. Choose Path A if DynoStudio already has a writable AWS or local connection. Choose Path B for a local exercise with no AWS account. Offline schema design alone does not create a database or store imported items.
- Create the
BeanAndBarktable — the one-table,pk/skshape the whole series is built on - Load the ~5,900-item sample, either by importing it into DynoStudio or seeding DynamoDB Local
- Point DynoStudio at your data and confirm it with a single cheap query
Get the files
One download covers both paths: the bundle below holds the dataset, the table definition, the local seed script, and the dataset README. Prefer single files? Each one is listed after it. The .ddb.json file is what you import into DynoStudio; schema.json and the seed script are for the run-it-locally path.
- Everything — bean-and-bark.zip The whole dataset in one file. Extract it and you're ready for either path below.
- Bean & Bark sample (DynamoDB-JSON) The dataset — ~5,900 items in DynamoDB-typed form. This is the file you import into DynoStudio.
- Table definition The BeanAndBark key schema (pk HASH / sk RANGE, on-demand) — used by aws dynamodb create-table and by the seed script.
- Local seed script A zero-dependency loader for DynamoDB Local — only needed for the run-it-locally path below. Uses the aws CLI you already have.
Path A — Import into DynoStudio
Use this path when DynoStudio is already connected to a writable development database. For AWS, connect to your development account and region with IAM SSO or access keys; creating the table and importing items uses billed AWS resources. For a local connection, start DynamoDB Local as described in Path B first. Select the intended workspace, stage, and connection before creating the table.
1. Create the table. In DynoStudio, create a new table named BeanAndBark with partition key pk (String) and sort key sk (String), billed on-demand. Prefer to type it? Run this statement in the query box — DynoStudio lowers it to the native CreateTable call and shows you the plan in the "Executes as" strip before anything runs:
CREATE TABLE "BeanAndBark" ( PARTITION KEY pk STRING, SORT KEY sk STRING) WITH BILLING = ON_DEMAND That's the exact key shape the lessons assume. CREATE TABLE is a DynoStudio dialect surface — DynamoDB's own PartiQL has no DDL; see CREATE TABLE for the full syntax. A read-only stage refuses it, which is why the studio discloses the control-plane call first.
2. Import the data. Open the table, choose Import from CSV & JSON, pick the bean-and-bark.ddb.json you downloaded, and review the key-aware preview before it writes. That loads the ~5,900 items — and you're ready to query.
Path B — Run it locally with DynamoDB Local
Prefer to run the PartiQL against your own endpoint, offline and free? Stand up DynamoDB Local and let the seed script create the table and load every item for you. You need Docker running, AWS CLI 2, Node.js 20 or later, and the DynoStudio app. Check docker version, aws --version, and node --version first. Download and extract the ZIP, then run the following Bash/Zsh commands. Keep the Docker process running in the first terminal and seed from a second terminal:
# 1. run DynamoDB Local (Docker shown; any method works)docker run --rm -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -sharedDb# 2. in a SECOND terminal, from the extracted dataset folder, load the items# (defaults to localhost:8000 — no AWS account, dummy creds injected for you)node seed-bean-and-bark.mjs The script creates BeanAndBark from schema.json if it's missing, then batch-writes every item in chunks of 25, retrying anything DynamoDB leaves unprocessed — so it's safe to re-run. When it finishes, create a DynoStudio connection with endpoint http://localhost:8000, region us-east-1, access key local, and secret key local. Select it in your development stage and open BeanAndBark. The -sharedDb flag makes the same local database visible to the seed script, DynoStudio, and the C# tutorial.
Optional: create only the local table by hand with the command below. The endpoint flag keeps this command on DynamoDB Local. Skip it if the seed script already created the table.
AWS_ACCESS_KEY_ID=local AWS_SECRET_ACCESS_KEY=local AWS_SESSION_TOKEN= \ aws dynamodb create-table --cli-input-json file://schema.json \ --endpoint-url http://localhost:8000 --region us-east-1 Confirm it worked
However you loaded it, open BeanAndBark in DynoStudio and run one cheap keyed read. If Dana's three orders come back, the data is in and the keys are right:
SELECT OrderId, Placed, Status, Total FROM "BeanAndBark"WHERE pk = 'CUSTOMER#c-014' AND begins_with(sk, 'ORDER#') You should get three rows — Order#8842, Order#9013, Order#9188. That's the opening move of the very first lesson, so if it works you're fully set up. (If it errors on the table name or returns nothing, the import/seed didn't land — re-run the path above.)
If the checkpoint fails
- Connection refused: keep the Docker terminal open and check that port 8000 is available. DynamoDB Local must be running before seeding or querying.
- Table not found: confirm the selected connection, region, and exact table name. The default is
BeanAndBark; a Core service configured with namespacedevusesdev.BeanAndBarkinstead. - No rows: re-seed the downloaded dataset into the same connection you selected in DynoStudio. If the seed command reports unprocessed items, fix the reported problem and run it again.
- Read-only stage: select a writable development stage for table creation and import. You can use a read-only stage for the query after loading.
The Core local tutorial uses this same unprefixed BeanAndBark table. To practice a named stage locally, seed with node seed-bean-and-bark.mjs --table dev.BeanAndBark, set the Core namespace to dev, and use "dev.BeanAndBark" in the SQL queries. For AWS, the account and region must also match.
- The table is
BeanAndBark, keyed bypk(string) +sk(string), billed on-demand — one table for every entity. - Import path: create the table (the DynoStudio UI, or a
CREATE TABLEstatement in the query box), then Import from CSV & JSON withbean-and-bark.ddb.json. - Local path:
docker run … amazon/dynamodb-local, thennode seed-bean-and-bark.mjs, then point DynoStudio athttp://localhost:8000. - A keyed read on
pk = 'CUSTOMER#c-014'returns Dana's three orders — proof the data landed.
- Run DynamoDB Local AWS docs: run DynamoDB on your own machine — free, offline, nothing to provision.
- Working with tables in DynamoDB AWS docs: creating tables, key schema, and on-demand vs provisioned billing.