为什么azure的CloudBlockBlob.Uri.AbsoluteUri返回HTTPS:对于blobls url?

Pet*_*ack 0 url blob azure

var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");

// create container
Storage = account.CreateCloudBlobClient();

Container = Storage.GetContainerReference("container");
Container.CreateIfNotExist();

// configure for public access
var permissions = Container.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
Container.SetPermissions(permissions);

...

CloudBlockBlob blob = Storage.GetBlockBlobReference(blobname);
blob.UploadFromStream(file.InputStream);
url = blob.Uri.AbsoluteUri;

//url returns:  https://myazureacct.blob.core.windows.net/...
Run Code Online (Sandbox Code Playgroud)

我可以使用http:// myazureacct访问该资源....但为什么AbsoluteUri会返回https?

Stu*_*art 6

Uri是由库使用底层连接字符串/客户端创建的 - 我猜你的"DataConnectionString"包含"UseHttps = true" - 因此,为什么url的库正在使用(和生成)是HTTP.


在稍微深一点的水平上,您可以使用http或https访问blob存储服务 - 就像您也可以访问表和队列存储一样.如果您在单个Azure数据中心内工作,或者您正在使用非敏感数据,那么您可以自由使用http - 否则https是您的安全首选.