如何读取Azure中的.csv文件?

时间:2019-01-30 03:48:10

标签: azure csv azure-storage

我很抱歉提出这个基本问题。我在Azure环境中是新手。

我在Azure门户中将日志文件存储为.csv 我想查看此.csv文件而不下载它。 Azure已经提供了此文件的URL链接。但无法查看

这是Azure为我的.csv文件提供的链接:

https://xxxxxx.xfile.xcore.windows.net/cctvfeedfs/log/testcsv.csv

好,我确实有SAS签名,当我将该SAS签名与URL结合使用时,它将下载.csv文件。这样的示例:

https://xxxxxx.xfile.xcore.windows.net/cctvfeedfs/log/testcsv.csv?sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2099-10-04T09:06:59Z&st=2018-10-04T01:06:59Z&spr=https&sig=%2Fb%2BrssXtUP5V%2F9%2BSXzpSauyugpG%2BvXOfn9GqLfdf1EOUE%3D

但是实际上我不想下载,而只想查看它。 有什么可能的方法,这样我可以查看.csv中的内容而无需下载它?

请帮助。预先谢谢你!

1 个答案:

答案 0 :(得分:0)

  

我该怎么办才能在线查看内容而无需下载?

如果您的容器不是公开的,则无法直接查看url的文件内容,否则文件将没有任何安全性。

因此,请参阅官方文档Secure access to an application's data in the cloudUsing shared access signatures (SAS)。然后,我们需要生成带有SAS签名的Blob网址以进行访问。

这是用于生成具有SAS签名的blob URL的示例Java代码。

SharedKeyCredentials credentials = new SharedKeyCredentials(accountName, accountKey);
ServiceSASSignatureValues values = new ServiceSASSignatureValues()
                .withProtocol(SASProtocol.HTTPS_ONLY) // Users MUST use HTTPS (not HTTP).
                .withExpiryTime(OffsetDateTime.now().plusDays(2)) // 2 days before expiration.
                .withContainerName(containerName)
                .withBlobName(blobName);
BlobSASPermission permission = new BlobSASPermission()
                .withRead(true)
                .withAdd(true)
                .withWrite(true);
values.withPermissions(permission.toString());
SASQueryParameters serviceParams = values.generateSASQueryParameters(credentials);
String sasSign = serviceParams.encode();
String blobUrlWithSAS = String.format(Locale.ROOT, "https://%s.blob.core.windows.net/%s/%s%s",
                accountName, containerName, blobName, sasSign);

您也可以在blob.toURL()字符串的末尾添加SAS签名。

String blobUrlWithSAS = blob.toString()+sasSign;

关于SAS签名,您可以在ServiceSASSignatureValues ClassAccountSASSignatureValues Class中引用这些示例代码。


您可以在Azure Storage Explorer工具中使用csv文件检查ContentType。

enter image description here

如果将其格式更改为文本/纯文本,

enter image description here

然后它可以直接在浏览器中显示内容。 enter image description here

顺便说一句,您可以在上传文件时设置内容类型。(请参见这种情况:Uploading blockblob and setting contenttype