【问题标题】:How to create/upload to sub containers with Rackspace?如何使用 Rackspace 创建/上传到子容器?
【发布时间】:2016-12-14 19:50:52
【问题描述】:

如何创建子容器(目录)并使用 Rackspace OpenNetStack SDK 上传它们?我尝试在创建子容器时添加"\",但它实际上创建了一个名称为folder\subfolder 的容器,因为我在OpenNetStack SDK 中找不到关于如何添加子容器的任何地方。即便如此,手动创建子容器也不会太困难.. 但是上传到它们呢?

有人知道另一个允许创建/上传到子容器的 Rackspace 库吗?

【问题讨论】:

标签: c# rackspace-cloud openstack-swift


【解决方案1】:

你很亲密!诀窍是将 URL 路径分隔符 / 放在对象名称中,而不是放在容器名称中。这就是 OpenStack ObjectStorage API 的工作方式,并不特定于 .NET SDK 或 Rackspace。

在下面的示例控制台应用程序中,我创建了一个容器images,然后将一个文件命名为thumbnails/logo.png,将文件添加到该容器的子目录中。文件的公共 URL 被打印出来,本质上是容器的公共 URL + 文件名或http://abc123.r27.cf1.rackcdn.com/thumbnails/logo.png。每个容器和用户的容器 URL 都是唯一的。

using System;
using net.openstack.Core.Domain;
using net.openstack.Providers.Rackspace;

namespace CloudFileSubdirectories
{
    public class Program
    {
        public static void Main()
        {
            // Authenticate
            const string region = "DFW";
            var user = new CloudIdentity
            {
                Username = "username",
                APIKey = "apikey"
            };
            var cloudfiles = new CloudFilesProvider(user);

            // Create a container
            cloudfiles.CreateContainer("images", region: region);

            // Make the container publically accessible
            long ttl = (long)TimeSpan.FromMinutes(15).TotalSeconds;
            cloudfiles.EnableCDNOnContainer("images", ttl, region);
            var cdnInfo = cloudfiles.GetContainerCDNHeader("images", region);
            string containerPrefix = cdnInfo.CDNUri;

            // Upload a file to a "subdirectory" in the container
            cloudfiles.CreateObjectFromFile("images", @"C:\tiny-logo.png", "thumbnails/logo.png", region: region);

            // Print out the URL of the file
            Console.WriteLine($"Uploaded to {containerPrefix}/thumbnails/logo.png");
            // Uploaded to http://abc123.r27.cf1.rackcdn.com/thumbnails/logo.png
        }
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
相关资源
最近更新 更多