{"id":26129491,"url":"https://github.com/mathworks-ref-arch/matlab-azure-services","last_synced_at":"2025-08-08T02:43:01.433Z","repository":{"id":100806781,"uuid":"493679064","full_name":"mathworks-ref-arch/matlab-azure-services","owner":"mathworks-ref-arch","description":"MATLAB Interface for Azure Services, supports KeyVault, Azure Blob \u0026 Azure Data Lake","archived":false,"fork":false,"pushed_at":"2024-09-16T13:48:44.000Z","size":7022,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-13T18:55:27.425Z","etag":null,"topics":["matlab-azure"],"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.txt","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":"2022-05-18T13:39:18.000Z","updated_at":"2024-10-10T21:26:10.000Z","dependencies_parsed_at":"2025-03-10T19:49:17.570Z","dependency_job_id":"963c6440-0247-45b4-81bb-5093853df8ca","html_url":"https://github.com/mathworks-ref-arch/matlab-azure-services","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/mathworks-ref-arch/matlab-azure-services","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-azure-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-azure-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-azure-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-azure-services/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-azure-services/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-azure-services/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269355716,"owners_count":24403497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-azure"],"created_at":"2025-03-10T19:49:10.898Z","updated_at":"2025-08-08T02:43:01.410Z","avatar_url":"https://github.com/mathworks-ref-arch.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MATLAB Interface *for Azure Services*\n\nThis package provides MATLAB® interfaces that connect to various Microsoft Azure®\nServices, it currently supports:\n\n* [Azure Data Lake Storage Gen2](https://mathworks-ref-arch.github.io/matlab-azure-services/DataLakeStorageGen2.html)\n* [Azure Key Vault](https://mathworks-ref-arch.github.io/matlab-azure-services/KeyVault.html)\n* [Azure Data Explorer](https://mathworks-ref-arch.github.io/matlab-azure-services/DataExplorer.html)\n\n\u003e Note, very many of MATLAB's IO operations support Blob Storage via builtin functions.\n\u003e For example `dir` supports accessing remote data:\n\u003e\n\u003e * [https://www.mathworks.com/help/matlab/ref/dir.html](https://www.mathworks.com/help/matlab/ref/dir.html)\n\u003e * [https://www.mathworks.com/help/matlab/import_export/work-with-remote-data.html](https://www.mathworks.com/help/matlab/import_export/work-with-remote-data.html)\n\u003e\n\u003e Where MATLAB supports the required operations, it is recommended to use the builtin\n\u003e support, particularly in preference to this package's Azure Data Lake Storage Gen2\n\u003e lower level capabilities.\n\n## Requirements\n\n* [MathWorks®](http://www.mathworks.com) Products\n  * MATLAB® R2019a or later\n  * MATLAB® R2021a or later if using Azure Data Explorer\n* 3rd party products (Required to build the Azure SDK jar file)\n  * Maven™ 3.6.1 or later\n  * JDK v8 or greater and less than v18\n\n## Documentation\n\nThe primary documentation for this package is available at: [https://mathworks-ref-arch.github.io/matlab-azure-services](https://mathworks-ref-arch.github.io/matlab-azure-services)\n\n## Usage\n\nOnce [installed](https://mathworks-ref-arch.github.io/matlab-azure-services/Installation.html)\nthe interface can be added to the MATLAB path by running `startup.m` from the `Software/MATLAB` directory.\nAlso refer to configuration and authentication details below.\n\n## Azure Data Lake Storage Gen2 examples\n\n### Create a Blob Client and check if a blob exists\n\n```matlab\nblobClient = createStorageClient('ContainerName','myContainer','BlobName','myBlob') \ntf = blobClient.exists();\n```\n\n### Acquire a lease for a blob\n\n```matlab\nbuilder = azure.storage.blob.specialized.BlobLeaseClientBuilder;\nbuilder = builder.blobClient(blobClient);\n% Build the BlobLeaseClient\nleaseClient = builder.buildClient();\n% Acquire a lease for 30 seconds\nleaseId = leaseClient.acquireLease(30)\n```\n\n### Create Queue Service Client and create a queue\n\n```matlab\nqueueServiceClient = createStorageClient('Type','QueueService');\nqueueClient = queueServiceClient.createQueue('myqueuename');\n```\n\n### Create File Data Lake (file) Client and check if the file exists\n\n```matlab\ndataLakeFileClient = createStorageClient('FileSystemName','myFileSystem',...\n               'FileName','my/dir/file');\ntf = dataLakeFileClient.exists();\n```\n\nFor further details see: [Azure Data Lake Storage Gen2](https://mathworks-ref-arch.github.io/matlab-azure-services/DataLakeStorageGen2.html)\n\n## Azure Key Vault\n\n### Create a Secret Client and get a secret value\n\n```matlab\nsecretClient = createKeyVaultClient('Type','Secret');\n% Get the secret using its name\nsecret = secretClient.getSecret('mySecretName');\n% Get the secret value\nsecretValue = secret.getValue();\n```\n\n### List keys in a vault\n\n```matlab\n% Create a client\nkeyClient = createKeyVaultClient('Type','Key');\n% Get an array of secret properties\nproperties = keyClient.listPropertiesOfKeys();\n% Get the name property for the first entry\nname = propList(1).getName();\n```\n\nFor further details see: [Azure Key Vault](https://mathworks-ref-arch.github.io/matlab-azure-services/KeyVault.html)\n\n## Azure Data Explorer\n\nThis package provides access to Azure Data Explorer related features from within MATLAB.\nLower-level interfaces to the Azure Data Explorer REST APIs are provided along with\nsome higher-level interfaces for common tasks.\nThe Control plane REST API client is automatically generated based upon the OpenAPI spec.\nprovided in [https://github.com/Azure/azure-rest-api-specs/tree/main/specification](https://github.com/Azure/azure-rest-api-specs/tree/main/specification).\n\n### Return \"Hello World\" using a Kusto query\n\n```matlab\n\u003e\u003e [result, success] = mathworks.adx.run('print myColumn=\"Hello World\"')\nresult =\n  table\n      myColumn    \n    _____________\n    \"Hello World\"\nsuccess =\n  logical\n   1\n```\n\n### A query to count the number of rows in a table\n\n```matlab\n\u003e\u003e rowCount = mathworks.adx.run(\"myTableName | count\")\nrowCount =\n  table\n    Count \n    ______\n    123523\n```\n\n### Return some rows in a table\n\n```matlab\n\u003e\u003e firstRows = mathworks.adx.run(\"myTableName | take 5\")\nfirstRows =\n  5x27 table\n       Date        DayOfWeek          DepTime                CRSDepTime\n    ___________    _________    ____________________    ____________________\n    21-Oct-1987        3        21-Oct-1987 06:42:00    21-Oct-1987 06:30:00\n    26-Oct-1987        1        26-Oct-1987 10:21:00    26-Oct-1987 10:20:00\n    23-Oct-1987        5        23-Oct-1987 20:55:00    23-Oct-1987 20:35:00\n    23-Oct-1987        5        23-Oct-1987 13:32:00    23-Oct-1987 13:20:00\n    22-Oct-1987        4        22-Oct-1987 06:29:00    22-Oct-1987 06:30:00\n```\n\n## Configuration \u0026 authentication\n\nWhile the packages share some common configuration and authentication code they\nalso have separate configuration details to record preferred default endpoints\nand authentication methods.\n\n### Azure Data Lake Storage Gen2 \u0026 Azure Key Vault setup\n\nFirst change to the `matlab-azure-services/Software/MATLAB` directory and run the\nstartup command to configure paths.\n\nThe package offers a `loadConfigurationSettings` function which allows reading\nconfiguration settings from a short JSON format file. This offers a convenient\nway for you to configure various settings (like endpoint URLs) as well as\nauthentication configurations without having to hardcode these into your MATLAB\ncode. For more details see: [Configuration](https://mathworks-ref-arch.github.io/matlab-azure-services/Configuration.html)\n\nVirtually all interactions with Azure will require some form of authentication.\nThe package offers various Builder classes as well as a higher-level function\n`configureCredentials` to aid performing the authentication. For more details\nsee: [Authentication](https://mathworks-ref-arch.github.io/matlab-azure-services/Authentication.html)\n\n### Azure Data Explorer setup\n\nFirst change to the `matlab-azure-services/Software/MATLAB` directory and run the\nstartup command to configure paths.\n\nInitially run `mathworks.adx.buildSettingsFile`, to configure credentials \u0026 settings.\nFor more details see: [ADXAuthentication.md](Documentation/ADXAuthentication.md).\nA number of authentication methods are supported.\n\nAssuming Client Secret authentication, the simplest to configure, this should result\nin a file: `Software/MATLAB/config/adx.Client.Settings.json` similar to:\n\n```json\n{\n    \"preferredAuthMethod\" : \"clientSecret\",\n    \"subscriptionId\" : \"\u003cREDACTED\u003e\",\n    \"tenantId\" : \"\u003cREDACTED\u003e\",\n    \"clientId\" : \"\u003cREDACTED\u003e\",\n    \"clientSecret\" : \"\u003cREDACTED\u003e\",\n    \"database\" : \"\u003cdefaultDatabaseName\u003e\",\n    \"resourceGroup\": \"\u003cresourceGroupName\u003e\",\n    \"cluster\" : \"https://\u003cdefaultClusterName\u003e.\u003cregion\u003e.kusto.windows.net\"\n}\n```\n\n## License\n\nThe license for the MATLAB Interface for Azure Services is available in the\n[License.txt](License.txt) file in this repository. This package uses certain\nthird-party content which is licensed under separate license agreements.\nSee the pom.xml in the `Software/Java` directory of this package for details of\nthird-party software downloaded at build time.\n\n## Enhancement Request\n\nProvide suggestions for additional features or capabilities using the following\nlink: [https://www.mathworks.com/products/reference-architectures/request-new-reference-architectures.html](https://www.mathworks.com/products/reference-architectures/request-new-reference-architectures.html)\n\n## Support\n\nPlease create a GitHub issue.\n\nMicrosoft Azure Data Explorer, Azure Data Lake Storage \u0026 Azure Key Vault are trademarks of the Microsoft group of companies.\n\n[//]: #  (Copyright 2021-2025 The MathWorks, Inc.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-azure-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-azure-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-azure-services/lists"}