如何 create/upload 到 Rackspace 的子容器?
How to create/upload to sub containers with Rackspace?
如何创建子容器(目录)并使用 Rackspace 上传它们OpenNetStack SDK?我尝试在创建子容器时添加 "\"
但它实际上创建了一个名为 folder\subfolder
的容器,因为我在 OpenNetStack SDK 中找不到任何关于如何添加子容器的信息。即便如此,手动创建子容器也不会太困难..但是上传到它们呢?
有谁知道另一个允许 creating/uploading 子容器的 Rackspace 库?
你很亲近!诀窍是在对象名称而不是容器名称中放置 URL 路径分隔符 /
。这就是 OpenStack ObjectStorage API 的工作方式,并不特定于 .NET SDK 或 Rackspace。
在下面的示例控制台应用程序中,我创建了一个容器 images
,然后通过将文件命名为 thumbnails/logo.png
将文件添加到该容器的子目录中。文件的结果 public URL 被打印出来,本质上是容器的 public 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
}
}
}
如何创建子容器(目录)并使用 Rackspace 上传它们OpenNetStack SDK?我尝试在创建子容器时添加 "\"
但它实际上创建了一个名为 folder\subfolder
的容器,因为我在 OpenNetStack SDK 中找不到任何关于如何添加子容器的信息。即便如此,手动创建子容器也不会太困难..但是上传到它们呢?
有谁知道另一个允许 creating/uploading 子容器的 Rackspace 库?
你很亲近!诀窍是在对象名称而不是容器名称中放置 URL 路径分隔符 /
。这就是 OpenStack ObjectStorage API 的工作方式,并不特定于 .NET SDK 或 Rackspace。
在下面的示例控制台应用程序中,我创建了一个容器 images
,然后通过将文件命名为 thumbnails/logo.png
将文件添加到该容器的子目录中。文件的结果 public URL 被打印出来,本质上是容器的 public 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
}
}
}