Azure CloudDrive HTTPS Uri

时间:2012-09-20 22:12:10

标签: azure azure-storage azure-storage-blobs azure-clouddrive

来自this MSDN article它表示连接到存储帐户的连接字符串必须是 HTTP而不是HTTPS

当我使用这个构造函数时:

public CloudDrive (
    Uri uri,
    StorageCredentials credentials
)

这是否意味着页面blob的 Uri 也必须是HTTP而不是HTTPS?关于哪个参数(或两者一起)符合“连接字符串”描述,我感到有点困惑。

这种情况在开发人员模式中似乎不易测试。

1 个答案:

答案 0 :(得分:1)

页面blob的URI将其视为连接字符串的服务器部分)表示存储的命名空间+容器+ blob 帐户。 credentials表示用户/通行证,它与URI一起构成Azure云存储服务的连接字符串。

假设您正在使用本地模拟器,URI将始终为HTTP。

CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;

部署到Azure时,URI方案将为whatever you assign it in the service configuration ServiceDefinition.csdef / ServiceConfiguration.Cloud.cscfg )。

CloudStorageAccount storageAccount = CloudStorageAccount.FromConfigurationSetting("CloudDrive.DataConnectionString");

您只想将CloudDrive.DataConnectionString分配给DefaultEndpointsProtocol=http(如果省略,默认值,但您可以明确)。

ServiceDefinition.csdef中

<ServiceDefinition>
  <WebRole>
    <!-- .... -->
    <ConfigurationSettings>
      <Setting name="CloudDrive.DataConnectionString" />
    </ConfigurationSettings>
  </WebRole>
</ServiceDefinition>

ServiceConfiguration.Cloud.cscfg

<ServiceConfiguration>
  <Role>
    <ConfigurationSettings>
     <Setting name="CloudDrive.DataConnectionString" value="DefaultEndpointsProtocol=http;AccountName=YOURNAMESPACE;AccountKey=YOURKEY" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>