如何解决在云中读取Azure BlobPDF的最实用方法?
我是一个初学者,以前从未处理过基于云的解决方案。
我的程序使用PDFBox库从PDF中提取数据,然后根据数据重命名文件。它目前全部在本地,但是最终将需要部署为Azure功能。 PDF将存储在Azure Blob容器中-Azure Functions的Azure Blob存储触发器是选择此选项的重要原因。
我当然可以在本地下载blob并阅读它,但是该程序应仅在Cloud中运行。我尝试直接使用Java读取blob,但这导致数据混乱,并且与PDFbox不兼容。我目前的计划是将文件临时存储在云中的其他位置(例如OneDrive,Azure文件存储),然后尝试从那里打开它们。但是,这似乎可以很快变成一个过于混乱的解决方案。我的问题:
(1)有什么方法可以将blob作为文件而不是CloudBlockBlob打开,因此不需要此附加步骤吗?
(2)如果否,在这种情况下建议使用什么临时存储?
(3)是否有其他方法可以解决此问题?
解决方法
由于您正在计划Azure函数,因此可以使用blob trigger/binding直接获取字节。然后,您可以使用PDFBox PdfDocument加载方法直接构建对象@FunctionName("blobprocessor")
public void run(
@BlobTrigger(name = "file",dataType = "binary",path = "myblob/{name}",connection = "MyStorageAccountAppSetting") byte[] content,@BindingName("name") String filename,final ExecutionContext context
) {
context.getLogger().info("Name: " + filename + " Size: " + content.length + " bytes");
PDDocument doc = PDDocument.load(content);
// do your stuffs
}
。您将不需要任何临时存储来存储文件以加载该文件。
{{1}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。