{"id":26129505,"url":"https://github.com/mathworks-ref-arch/matlab-aws-dynamodb","last_synced_at":"2026-04-17T20:32:28.535Z","repository":{"id":78586852,"uuid":"193169160","full_name":"mathworks-ref-arch/matlab-aws-dynamodb","owner":"mathworks-ref-arch","description":"MATLAB Interface for AWS DynamoDB","archived":false,"fork":false,"pushed_at":"2023-10-04T21:52:40.000Z","size":168,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-10T19:55:15.716Z","etag":null,"topics":["matlab-aws"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathworks-ref-arch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-21T23:03:08.000Z","updated_at":"2022-03-03T15:46:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"3bad46ad-e3b7-49d2-903b-629cb31b83b9","html_url":"https://github.com/mathworks-ref-arch/matlab-aws-dynamodb","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/mathworks-ref-arch/matlab-aws-dynamodb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-aws-dynamodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-aws-dynamodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-aws-dynamodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-aws-dynamodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathworks-ref-arch","download_url":"https://codeload.github.com/mathworks-ref-arch/matlab-aws-dynamodb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-aws-dynamodb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31945039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matlab-aws"],"created_at":"2025-03-10T19:49:13.474Z","updated_at":"2026-04-17T20:32:28.518Z","avatar_url":"https://github.com/mathworks-ref-arch.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MATLAB Interface *for Amazon DynamoDB*\n\nMATLAB® interface for the Amazon Web Services DynamoDB™ service. DynamoDB is a managed NoSQL database service that provides high performance and scalability. This package provides a basic interface to a subset of DynamoDB features from within MATLAB. Both the low-level interface and the higher-level *document* interfaces are supported. Calls to both interfaces can be used together.\n\nThe complete DynamoDB is API very large. This package implements common CRUD related objects and operations such as listing, querying, updating and deleting of items and tables and does not cover the complete API. If additional features and methods would be helpful to you please submit an enhancement request as detailed below.\n\n## Requirements\n### MathWorks products\n* Requires MATLAB release R2017a or later.\n* AWS Common utilities found at https://github.com/mathworks-ref-arch/matlab-aws-common\n\n### 3rd party products\n* Amazon Web Services account   \n\nTo build a required JAR file:   \n* [Maven](https://maven.apache.org/)\n* JDK 7\n* [AWS SDK for Java](https://aws.amazon.com/sdk-for-java/) (version 1.11.367 or later)\n\n## Getting Started\nPlease refer to the [Documentation](Documentation/README.md) to get started.\nThe [Installation Instructions](Documentation/Installation.md) and [Getting Started](Documentation/GettingStarted.md) documents provide detailed instructions on setting up and using the interface. The easiest way to\nfetch this repository and all required dependencies is to clone the top-level repository using:\n\n```bash\ngit clone --recursive https://github.com/mathworks-ref-arch/mathworks-aws-support.git\n```\n\n### Build the AWS SDK for Java components\nThe MATLAB code uses the AWS SDK for Java and can be built using:\n```bash\ncd Software/Java\nmvn clean package\n```\n\nOnce built, use the ```/Software/MATLAB/startup.m``` function to initialize the interface which will use the AWS Credentials Provider Chain to authenticate. Please see the [relevant documentation](Documentation/Authentication.md) on how to specify the credentials.\n\n### Create a table\nThis example uses the lower-level ```AmazonDynamoDBClient``` interface.\n\n```matlab\n%% Create the client, authenticate using the AWS provider chain\nddb = aws.dynamodbv2.AmazonDynamoDBClient;\nddb.initialize();\n\n%% Build a CreateTableRequest\n% Create the request and set the name\ntableName = 'myTableName';\ncreateTableRequest = aws.dynamodbv2.model.CreateTableRequest();\ncreateTableRequest.setTableName(tableName);\n\n% Set the read and write throughput\npt = aws.dynamodbv2.model.ProvisionedThroughput(uint64(10), uint64(10));\ncreateTableRequest.setProvisionedThroughput(pt);\n\n% Set a table attribute\nattributeName = 'myAttributeName';\nad = aws.dynamodbv2.model.AttributeDefinition();\nad.setAttributeName(attributeName);\nad.setAttributeType(aws.dynamodbv2.model.ScalarAttributeType.S);\ncreateTableRequest.setAttributeDefinitions([ad]);\n\n% Set a key schema\nkse = aws.dynamodbv2.model.KeySchemaElement(attributeName, aws.dynamodbv2.model.KeyType.HASH);\ncreateTableRequest.setKeySchema([kse]);\n\n%% Create the table\ncreateTableResult = ddb.createTable(createTableRequest);\n\n%% Wait for the Table to enter an ACTIVE state\nstatus = '';\nwhile ~strcmp(status, 'ACTIVE')\n    describeResult = ddb.describeTable(tableName);\n    tableDescription = describeResult.getTable();\n    status = tableDescription.getTableStatus();\n    if ~strcmp(status, 'ACTIVE')\n        pause(5);\n    end\nend\n\n%% Describe the table\ntableDescription = createTableResult.getTableDescription();\nname = tableDescription.getTableName();\narn = tableDescription.getTableArn();\nstatus = tableDescription.getTableStatus();\ncount = tableDescription.getItemCount();\nsize = tableDescription.getTableSizeBytes();\n\n% Check the throughput\nthroughputInfo = tableDescription.getProvisionedThroughput();\nreadCapacity = throughputInfo.getReadCapacityUnits;\nwriteCapacity = throughputInfo.getWriteCapacityUnits;\n\n% Check the attributes\nattributes = tableDescription.getAttributeDefinitions();\n\n%% Cleanup\n% Delete the table and the client\nddb.deleteTable(tableName);\nddb.shutdown();\n```\n\n## Create a table, using the document interface\nThe document interface is a higher-level interface.\n ```matlab\n %% Create a client from which to create a DynamoDB object\n ddbClient = aws.dynamodbv2.AmazonDynamoDBClient;\n ddbClient.initialize();\n\n %% Create the document API DynamoDB object\n ddb = aws.dynamodbv2.document.DynamoDB(ddbClient);\n\n %% Configure names\n tableName = 'myTableName';\n attributeName = 'Id';\n\n %% Configure an attribute definition, provisioned throughput and key element schema\n ad = aws.dynamodbv2.model.AttributeDefinition();\n ad.setAttributeName(attributeName);\n ad.setAttributeType(aws.dynamodbv2.model.ScalarAttributeType.N);\n kse = aws.dynamodbv2.model.KeySchemaElement(attributeName, aws.dynamodbv2.model.KeyType.HASH);\n pt = aws.dynamodbv2.model.ProvisionedThroughput(uint64(5), uint64(5));\n\n %% Create a createTableRequest from these\n createTableRequest = aws.dynamodbv2.model.CreateTableRequest();\n createTableRequest.setTableName(tableName);\n createTableRequest.setAttributeDefinitions([ad]);\n createTableRequest.setProvisionedThroughput(pt);\n createTableRequest.setKeySchema([kse]);\n\n %% Use the document API to create the table\n table = ddb.createTable(createTableRequest);\n\n %% Wait until the table is active to use it\n table.waitForActive();\n\n ```\n\n## Supported Products:\n1. [MATLAB](https://www.mathworks.com/products/matlab.html) (R2017a or later)\n2. [MATLAB Compiler™](https://www.mathworks.com/products/compiler.html) and [MATLAB Compiler SDK™](https://www.mathworks.com/products/matlab-compiler-sdk.html) (R2017a or later)\n3. [MATLAB Production Server™](https://www.mathworks.com/products/matlab-production-server.html) (R2017a or later)\n4. [MATLAB Parallel Server™](https://www.mathworks.com/products/distriben.html) (R2017a or later)\n\n## License\nThe license for the MATLAB Interface *for Amazon DynamoDB* is available in the [LICENSE.md](LICENSE.md) file in this GitHub repository. This package uses certain third-party content which is licensed under separate license agreements. See the [pom.xml](Software/Java/pom.xml) file for third-party software downloaded at build time.\n\n## Enhancement Request\nProvide suggestions for additional features or capabilities using the following link:   \nhttps://www.mathworks.com/products/reference-architectures/request-new-reference-architectures.html\n\n## Support\nEmail: `mwlab@mathworks.com` or please log an issue.\n\n[//]: #  (Copyright 2019-2021 The MathWorks, Inc.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-aws-dynamodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-aws-dynamodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-aws-dynamodb/lists"}