开发人员区域

高级软件开发与MATLAB

MATLAB和BLOB存储

作为我的延续以前的文章,这篇文章讨论了MATLAB接口为Azure™存储BLOB的使用。

Windows Azure Blob服务是可扩展的、成本效益高的云存储,可用于所有非结构化数据。

MATLAB开发人员已经可以将这些服务与我们的产品一起使用下载188bet金宝搏记录通过利用这一点数据存储允许轻松读/写访问存储在BLOB存储中的数据(以及其他形式的远程数据)。

与上一篇文章一样,我将重点关注开发人员可以使用的其他接口。这些接口是针对希望对存储服务进行更精细控制的MATLAB开发人员的。通常,这种控制需求是由配置安全设置、访问控制和其他特性(如操作多个blob类型、表服务等)的需求驱动的,这些特性在大多数企业应用程序中很常见。

MathWorks发布了Azure存储Blob的MATLAB接口允许MATLAB开发人员利用Azure上的存储服务。

要开始,请克隆此存储库:

$ git clone  -  rocuraive https://github.com/mathworks-refoarch/matlab-azure-blob.git

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

内容

构建底层的Java工件

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

$ CD Matlab-Azure-Blob / Software / Java / $ MVN清洁包

在一个成功的构建中,JAR存档被打包,并通过运行启动程序提供给MATLAB。m文件

cdMatlab-Azure-Blob / Software / Matlab启动

所有对BLOB服务的访问源自云存储帐户,允许配置一个或多个容器。这些容器允许用户组组一组百种斑点。BLOB可以是块BLOB,Page Blob或Append Blob类型,可用于存储文本,二进制或媒体等工件。

可以找到对该服务的良好介绍:https://docs.microsoft.com/en-us/azure/storage/common/storage-introduction

MATLAB接口到Azure存储BLOB要创建MATLAB客户端要使用服务,开发人员可以在Azure门户中配置访问密钥,并使用MATLAB接口使用它来创建云存储帐户的句柄。

MATLAB界面使用与底层SDK相同的熟悉接口,因此大多数解决方案,文档和社区知识在线论坛,如StackOverflow等应该直接且轻松地翻译。金宝搏官方网站

在本例中,创建客户端的代码如下所示:

%创建存储帐户的句柄az = azure.storage.cloudstorageaccount;az.accountname ='myaccountname';az.AccountKey ='abcdefgh ***** [redacted] **** abcdefgh';az.connect();创建一个CloudBlobClient句柄azClient = azure.storage.blob.CloudBlobClient (az);

集装箱运营

创建,列表和配置容器的接口同样简单。

%创建一个容器并列出所有现有的容器azcontainer = azure.storage.blob.cloudblobcontainer(azclient,“testcontainer”);azcontainer.createifnotexists();容器= azclient.listcontainers();%配置公共访问容器perm = azure.storage.blob.blobcontainerpermissions;perm.accesstype ='容器';%集装箱级公共访问azContainer.uploadPermissions(烫);

将BLOB / DATA上载到容器中

Blobs可以是任何自然的内容。要在MATLAB中生成一些数据,并将其保存到新创建的容器:

%创建一些随机数据Sampledata = Rand(1000,1000);%约7MB.节省样本数据样本数据;%上传数据到先前创建的容器,创建一个blob句柄(仅仅是一个引用)并上传。blob = azcontainer.getBlockBlobReference(哪个(“SampleData.mat”));blob.upload();

也就是说,我们的第一部数据已上传到云端并存储在Azure Blob存储服务上。

接口完全矢量化,因此可以通过在配置的Blob的集合上调用上载方法来上载整个文件目录。

下载一个blob / data到MATLAB

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

%列出所有已存在的blobbloblist = azcontainer.listblobs();%从云服务下载特定文件到当前目录blob = azure.storage.blob.CloudBlockBlob (azContainer,'mydir1 / sampledata.mat');blobList.download ();%可以接受可选的目标目录参数

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

对于使用其他类型的blob(如Table blob)的客户端,该接口提供了金宝app文档的相关部分

这些接口启用新的和强大的方法来扩展MATLAB以访问基于云的存储系统来存储,分区和分析数据。与我们的参考体系结构一起使用时,这种扩展功能具有特殊意义在公共云系统上运行MathWorks产品下载188bet金宝搏像Azure,以改善数据访问和分析性能。

这总结了我的简短模糊对博客的街区......试图快乐地说。或者在旧式模因上 - 在互联网上,没有人知道你是一个blob(道歉Peter Steiner.)。

最后,我想与读者分享这一点,以强调一个事实,即MATLAB开发人员可以利用这些功能来构建真正令人印象深刻的数据分析系统,这些系统具有云计算能力并可大规模运行。所有这些都在经过时间考验的MATLAB环境和工作流程中成为可能。




与MATLAB®R2019A发布

|

评论

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。