微软的sdk以及azure
如果您要构建可与Azure服务配合使用的应用程序,则可能正在使用一个或多个Microsoft已发布的SDK 。 这是一种有意义的方法,可以节省时间并控制代码。 这是因为直接针对代表性状态转移API可能会很复杂,因为您必须构造适当的查询并解析响应JavaScript对象符号。
使用针对您使用的任何语言量身定制的SDK,可以大大简化流程,将调用转换为方法,将响应转换为对象。 无需转换数据格式或构建复杂的查询字符串,从而减少了出错的风险。 自公有云成立以来,Microsoft就为Azure提供了SDK,并在其库推出时为其库添加了新功能。
悠久的历史和Azure的快速增长使当前的SDK集与我们构建现代应用程序的方式有些不同。 尽管它们工作得足够好,但它们并不容易与当前的设计思想相融合,也不完全适合现代企业应用程序开发中使用的模式和实践。 当启动新服务并将其内置到应用程序中时,您必须快速。 您没有时间坐下来与其他SDK团队合作处理服务的其他方面,并使您的方法保持一致或了解您的SDK的使用方式。
Azure的核心服务正在走向成熟。 它们是Microsoft内部以及整个世界的应用程序的基础。 由于Azure中的开发节奏较慢,现在是时候重新设计支持的SDK并建立使用Azure 的新的通用且一致的工作方式 。 返工的第一个成果现已到来:用于Azure存储,Azure Cosmos DB,Azure Key Vault和Azure Event Hub的预览SDK。
新的SDK作为Python , Java , JavaScript和.Net (Azure上最常用的语言)的库提供。 它们基于针对开发人员的原则,为图书馆设计和开发建立了一套通用标准。 Microsoft最初的博客文章将这些原则定义为:
他们是明智的规则。 前两个要求Microsoft了解开发人员使用语言的方式以及使用这些语言的原因。 如果Azure SDK不适合开发人员使用语言的多种方式,则将不使用它们。 人们对现代开发方法论和语言进行了论断,从而定义了代码的结构和样式。 任何服务中的任何SDK都必须适合这些结构和样式。 Azure需要适应最终的开发方法。
从开发人员的角度来看,最后一个原则很重要。 良好的文档记录是良好应用程序的关键。 您需要研究诸如Twilio之类的API优先公司,以了解SDK和文档如何并存。 如果没有文档和代码示例,Twilio的构建过程不会将新的API或SDK推向生产环境。
Microsoft似乎在其新的SDK版本中牢记了这些原则。 它们是在公共GitHub存储库树中公开开发的。 Microsoft在这里发布了其总体设计指南,以及针对当前支持的语言的特定实现和指南,以及与四种主要语言一起开发的另一套Go SDK。
由于SDK是开源的,因此Microsoft接受捐助,尽管您在提出任何拉取请求之前需要先同意“捐助者许可协议”。 您只需执行一次,因为它涵盖了所有公共的Azure GitHub存储库。
值得更详细地研究新的SDK,因为它们是对您已经在使用的库的完整重写。 每种语言最初都会有不同的服务集。 它们都支持核心服务集,但是其中一些(如.Net和Java SDK)增加了对其他服务的支持,包括Azure的身份服务。
.Net SDK是一系列NuGet程序包,其中包含与Azure服务一起使用所需的库,从而使代码膨胀降至最低。 如果使用的是Azure存储,则需要安装适当的存储包 ,并为Blob,队列和文件安装单独的包。 例如,如果您要编写旨在与Blob一起使用的代码,请首先使用门户或Azure CLI将Azure存储帐户添加到您的订阅中。 然后,您可以使用dotnet add package
命令在开发系统上安装客户端库。
下载并添加到项目后,您可以在代码中添加适当的using
语句,然后使用库方法来建立与Blob容器和特定文件的连接,您可以在其中使用简单的上载和下载方法来建立连接。与Azure存储进行交互。 SDK中使用的API通过特定版本的关键方法支持同步和异步操作。
每个SDK的GitHub存储库中的文档清晰易读,带有示例代码和指向Azure SDK文档的链接。 许多文档是自动生成的 ,但是您应该找到足够的文档来完成大多数开发任务,以及示例源代码和任何自述文件。
其他开发平台的存储库类似,库已加载到适当的存储库中并可以在您的代码中使用。 这意味着在Python中使用pip,在Java中使用maven,在JavaScript中使用npm。 您可以将SDK内置到现有的开发工具和流程中,而无需进行任何更改。
新的Azure SDK仍处于初期阶段,但是乍一看显示出很多希望。 它们很容易理解,并且很适合语言最佳实践:.Net库的行为类似于.Net; JavaScript库的行为类似于JavaScript。 结果是使代码更易于阅读,易于理解,并且最重要的是易于调试。 如果您愿意冒险使用预览代码,则值得探索如何使用新库更新应用程序。 如果不是这样,它们很快就会发布,您可以在代码中开始使用它们。
翻译自: https://www.infoworld.com/article/3409043/a-first-look-at-the-new-azure-sdks.html
微软的sdk以及azure