开发区域

使用MATLAB先进的软件开发

MATLAB和Blob存储

作为我的延续以前的帖子,这篇文章讨论了Azure™Storage Blob的MATLAB接口的使用。

Windows Azure Blob Service是所有Unstructured数据的可扩展性,具有成本效益的云存储。

Matlab开发人员可以使用我们的运输产品使用这些服务s manbetx 845记录通过利用数据存储函数,允许对存储在Blob Storage中的数据(以及其他形式的远程数据)进行简单的读/写访问。

在与前一篇文章的同一静脉中,我将专注于可用于开发人员的其他接口。这些界面是针对Matlab开发人员的目标,他们希望在存储服务上进行更精细的控制。通常,对控制的这种需求是通过要求驱动的,以配置安全设置,访问控制和其他功能,例如在大多数企业应用程序中操作多个Blob类型,表服务等典型。

MathWorks已经发布了Matlab界面为Azure Storage Blob在GitHub上允许Matlab开发人员利用Azure上的存储服务。

首先,克隆这个存储库:

$ git clone——recursive https://github.com/mathworks-ref-arch/matlab-azure-blob.git

上面的存储库包含利用Azure Java SDK。此包使用某些在单独许可协议下许可的第三方内容。请参阅在构建时下载的第三方软件的POM.xml文件。

内容

构建底层的Java工件

你可以使用Maven构建底层Java SDK,过程很简单:

$ cd matlab-azure-blob/Software/Java/ $ mvn clean package

在成功的构建中,jar存档包装,通过运行startup.m文件来为matlab提供

光盘matlab-azure-blob /软件/ MATLAB启动

所有对blob服务的访问都来源于一个云存储帐户,该帐户允许提供一个或多个容器。这些容器允许用户对一组blob进行分组。blob可以是块blob、页面blob或附加blob类型,并可用于存储文本、二进制或媒体等工件。

有关这项服务的详细介绍,请浏览:https://docs.microsoft.com/en-us/azure/storage/common/storage-introduction.

要创建一个使用该服务的MATLAB客户端,开发人员可以在Azure门户中提供一个访问密钥,并将其与MATLAB接口一起使用,以创建云存储帐户的句柄。

MATLAB接口使用与底层SDK相同的熟悉接口,因此,像StackOverflow这样的在线论坛上的大多数解决方案、文档和社区知识应该可以直接轻松地翻译。万博 尤文图斯

在这种情况下,创建客户端的代码看起来像:

%为存储帐户创建句柄阿兹= azure.storage.CloudStorageAccount;az.AccountName =“myaccountname”;az.accountkey =.“ABCDEFGH * * * * *(修订)* * * * ABCDEFGH”;az.connect ();%为CloudBlobClient创建句柄azclient = azure.storage.blob.cloudblobclient(az);

容器操作

创建、列出和配置容器的接口也同样简单。

%创建一个容器并列出所有现有容器azContainer = azure.storage.blob.CloudBlobContainer (azClient,'testContainer');azContainer.createIfNotExists ();容器= azClient.listContainers ();%为公共访问配置容器烫= azure.storage.blob.BlobContainerPermissions;perm.AccessType =“容器”%容器级公共访问azcontainer.uploadpermissions(perm);

上传blob / data到容器

斑点可以是任何性质的内容。在MATLAB中生成一些数据并将其保存到新创建的容器中:

%创建一些随机数据sampleData =兰德(1000、1000);%约7 mb保存SampleDatasampleData%将数据上传到先前创建的容器,创建一个blob句柄(仅仅是一个引用)并上载。blob = azContainer.getBlockBlobReference (('sampledata.mat'));blob.upload ();

就这样,我们的第一个数据已经上传到云端,并存储在Azure Blob Storage服务上。

该接口是完全向量化的,因此可以通过在配置的blob集合上调用upload方法来上传整个文件目录。

将Blob / Data下载到Matlab中

列出容器的内容并从BLOB存储服务下载到MATLAB同样简单。

%列出所有现有的blobblobList = azContainer.listBlobs ();%从云服务下载到当前目录中的特定文件blob = azure.storage.blob.cloudblockblob(azcontainer,“mydir1 / SampleData.mat”);bloblist.download();%可以接受可选的目标目录参数

这个基本示例只划伤了界面可能性的表面。该软件包包含许多功能,可以使用共同的客户工作流,例如使用共享访问签名(SAS)等控制访问。

对于使用其他类型的BLOB(如表BLOB)的客户端,该接口提供如下所述的支持万博1manbetx文件的相关部分

这些接口提供了新的和强大的方法来扩展MATLAB,以访问基于云的存储系统来存储、分区和分析数据。当与我们的参考体系结构一起使用时,这个扩展的功能具有特殊的意义在公共云系统上运行Mathworks产品s manbetx 845比如Azure,以提高数据访问和分析性能。

以上就是我在博客上对blob的简短介绍……试着大声说出来。或者就像一个古老的迷因一样——在互联网上,没有人知道你是一个污点(我向你道歉彼得·施泰纳)。

在结束时,我想与您分享这一点,读者强调Matlab开发人员可以利用这些功能来构建真正令人印象深刻的数据分析系统,这些数据分析系统能够以较大的方式运行。所有这一切都成为可能的时间测试的Matlab环境和工作流程。




发布与MATLAB®R2019a

|

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。