为 azure 容器创建 azure cdn 端点
Create azure cdn endpoint for azure container
我需要为 Azure 容器创建 Azure CDN 端点。我正在使用以下代码来执行此操作。
Endpoint endpoint = new Endpoint() {
IsHttpAllowed = true,
IsHttpsAllowed = true,
Location = this.config.ResourceLocation,
Origins = new List<DeepCreatedOrigin> { new DeepCreatedOrigin(containerName, string.Format(STORAGE_URL, storageAccountName)) },
OriginPath = "/" + containerName,
};
await this.cdnManagementClient.Endpoints.CreateAsync(this.config.ResourceGroupName, storageAccountName, containerName, endpoint);
我提供的所有信息都是正确的,端点创建成功。但是当我尝试访问其中的任何 blob 时。它给出了一个 InvalidUrl 错误。
然而奇怪的是,如果我通过门户使用相同的值创建相同的端点,我就能够访问和下载 blob。
谁能告诉我我的代码哪里做错了?我需要传递任何额外的参数吗?
据我所知,如果你想在代码中创建一个存储 CDN,你需要将 OriginHostHeader 值设置为你的存储帐户 URL。
更多详情,您可以参考以下代码:
// Create CDN client
CdnManagementClient cdn = new CdnManagementClient(new TokenCredentials(token))
{ SubscriptionId = subscriptionId };
//ListProfilesAndEndpoints(cdn);
Endpoint e1 = new Endpoint()
{
// OptimizationType = "storage",
Origins = new List<DeepCreatedOrigin>() { new DeepCreatedOrigin("{yourstoragename}-blob-core-windows-net", "{yourstoragename}.blob.core.windows.net") },
OriginHostHeader = "{yourstoragename}.blob.core.windows.net",
IsHttpAllowed = true,
IsHttpsAllowed = true,
OriginPath=@"/foo2",
Location = "EastAsia"
};
cdn.Endpoints.Create(resourcegroup, profilename, enpointname, e1);
此外,我建议您可以通过URL生成SAS令牌来直接访问blob文件。
我需要为 Azure 容器创建 Azure CDN 端点。我正在使用以下代码来执行此操作。
Endpoint endpoint = new Endpoint() {
IsHttpAllowed = true,
IsHttpsAllowed = true,
Location = this.config.ResourceLocation,
Origins = new List<DeepCreatedOrigin> { new DeepCreatedOrigin(containerName, string.Format(STORAGE_URL, storageAccountName)) },
OriginPath = "/" + containerName,
};
await this.cdnManagementClient.Endpoints.CreateAsync(this.config.ResourceGroupName, storageAccountName, containerName, endpoint);
我提供的所有信息都是正确的,端点创建成功。但是当我尝试访问其中的任何 blob 时。它给出了一个 InvalidUrl 错误。
然而奇怪的是,如果我通过门户使用相同的值创建相同的端点,我就能够访问和下载 blob。
谁能告诉我我的代码哪里做错了?我需要传递任何额外的参数吗?
据我所知,如果你想在代码中创建一个存储 CDN,你需要将 OriginHostHeader 值设置为你的存储帐户 URL。
更多详情,您可以参考以下代码:
// Create CDN client
CdnManagementClient cdn = new CdnManagementClient(new TokenCredentials(token))
{ SubscriptionId = subscriptionId };
//ListProfilesAndEndpoints(cdn);
Endpoint e1 = new Endpoint()
{
// OptimizationType = "storage",
Origins = new List<DeepCreatedOrigin>() { new DeepCreatedOrigin("{yourstoragename}-blob-core-windows-net", "{yourstoragename}.blob.core.windows.net") },
OriginHostHeader = "{yourstoragename}.blob.core.windows.net",
IsHttpAllowed = true,
IsHttpsAllowed = true,
OriginPath=@"/foo2",
Location = "EastAsia"
};
cdn.Endpoints.Create(resourcegroup, profilename, enpointname, e1);
此外,我建议您可以通过URL生成SAS令牌来直接访问blob文件。