使用Azure云文件共享API,我能够创建文件共享以及目录,文件夹和文件。它们都正确保存在文件共享中。 从浏览器中,我可以使用URI + SAS令牌(为文件共享生成)查看内容。因此,在.NET中,访问Azure文件的最佳方法是什么?没有SAS令牌,我们能否访问文件(不是blob)? SAS令牌是强制性的吗?如果是这样,什么时候才是合适的时间生成令牌? (每次访问文件时?)
答案 0 :(得分:1)
有3种访问存储的方式:
1)使用主/根密钥。我不建议使用这种方法,因为主密钥可以完全访问存储帐户。
2)使用SAS密钥。这是一个很好的方法,因为您可以限制密钥给定的访问量。请参阅this site的最佳做法部分。您需要先生成密钥,然后才能访问存储并将其安全地存储在配置中。请注意,斑点是您的文件。 Blob被组织到Blob存储容器中,然后位于您的存储帐户中。
3)如果要使用新的Azure Data Lake Gen 2存储(ADLS Gen 2),则可以将Azure Active Directory身份验证与服务帐户或托管服务身份(MSI)结合使用。请注意,ADLS Gen 2仍在预览中。
答案 1 :(得分:0)
如果尝试访问/操作c#/。net中的文件共享,则不是必须使用SAS令牌。
您可以仅使用存储帐户名和帐户密钥进行身份验证,然后按照此官方doc分别操作文件共享,例如创建/删除文件共享/目录/文件。
除了将帐户名/密钥存储在上述文档中提到的配置文件中之外,您还可以直接在c#代码中使用它们,例如以下内容(.net框架控制台项目):
var nav = document.getElementById('nav');
navA = nav.getElementsByTagName('li');
for (var i = 0; i < navA.length; i++) {
navA[i].children[ 0 ].style.color = "white";
break;
}