回答

0

有没有简单的答案。我其实正在认真考虑为.NET编写一个快速客户端库,以帮助促进更多的.NET开发。

但因为它的立场,你有它就像你的任何其他随机的REST API,你没有一个图书馆互动:

  1. 实例化一个HttpWebRequest和建立的网址和标题如the object API documentation中所述。
  2. 响应正文通常是JSON(有一个或两个例外,您将不得不手动分析或搜索结果)。因此,使用JSON(de)序列化程序将响应转换为您可轻松使用的表格。

会话的一般流程是:根据the authentication API documentation

  1. 验证。
  2. 从响应(不是JSON)解析出认证令牌。
  3. 在未来的GET/PUT请求中使用该令牌。
  4. 请记住,令牌将在24小时后过期,您将收到“拒绝访问”错误。因此,请确保您的代码知道重做认证请求以获取新令牌。

使用curl来测试您的代码之外的API调用,以确认请求需要什么标头以及它们应具有的值。如果您无法访问Linux机器,则可以安装curl for windows,或者通过cygwin获取。

如果你这样做,请创建github项目并共享它,如果可以的话。你可能会发现自己和其他人愿意跳进来帮助你!

其他替代方案:

  1. 安装swift command-line client旁边您的应用程序,并调用了它。这将简化身份验证过程和大型对象(DLO和SLO)的管理,但不是很多。
  2. 使用FUSE驱动程序将swift容器安装为Windows驱动器盘符,然后像文件系统一样对其进行交谈。这里的问题是,所有的开源快速FUSE驱动程序都有问题。所以你最终会想要一个你付钱的客户。易于使用的存储和CloudBerry都提供了很好的产品。另一种选择是安装S3 API中间件(Swift3),然后使用开源的S3 FUSE驱动程序。这是已知的工作。但是涉及到更多的设置。
  3. 在对象存储前安装一个swift或S3兼容的网关,并将容器暴露为SMB或NFS共享。目前没有免费的选择,但是SoftNAS提供了一个很好的产品,在合理的价格下运行良好。
+0

在Linux中,您可以通过执行以下命令来以程序方式返回身份验证密钥: 'curl -i $ ST_AUTH -H“X-Auth-User:$ ST_USER”-H“X-Auth -Key:$ ST_KEY“2>/dev/null | awk'{if($ 1 ==“X-Auth-Token:”){print $ 2}}'' 将环境变量'ST_AUTH','ST_USER'和'ST_KEY'设置为认证URL,用户名和密码。 –

相关问题