c# - 使用 Microsoft Playwright 在 Azure Function Linux 消费计划中创建本地 PDF 文件

标签 c# azure-functions webautomation playwright playwright-sharp

我正在使用 Microsoft Playwright为了从 Azure 函数内的远程网站创建 PDF(HTTP 触发器)。使用的方法是 page.GetPdfAsync(),它仅处理文件路径以创建生成的 PDF 文件。我想将文件存储在 Azure Blob 存储容器中,但由于 GetPdfAsync() 方法不处理流或 Azure Blob 存储,因此我尝试临时存储生成的文件。我尝试使用不同的本地文件夹,例如 /tmp/local,但每次触发该函数时,我都会在跟踪中看到异常,表明文件系统为 只读

我读了这个blog post来自Anthony Chu因此,Linux 消费计划似乎现在支持 Playwright,但在文章中,生成的屏幕截图直接在 HTTP 响应中发回,并且从未存储在本地磁盘上。

对于编码环境,我使用 C#、VS 2019 和 Azure Function Core Tools + Azure CLI 进行部署。

知道如何处理这种情况吗?

最佳答案

Page.GetPdfAsync() 返回一个byte[]。您可以将 null 传递给路径并将生成的 byte[] 上传到 Azure。

关于c# - 使用 Microsoft Playwright 在 Azure Function Linux 消费计划中创建本地 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64141717/

相关文章:

c# - 将 XML 字符串 block 附加到现有的 XmlDocument

Azure函数应用程序使用slf4j登录App Insights

javascript - puppeteer 等待元素消失或从 DOM 中移除

azure - 使用 Terraform 为 Azure Function 创建 Http 触发器

javascript - Puppeteer 获取所有数据属性值

javascript - 剧作家无法捕获 response.json()

c# - 在 EF C# 中使用相互依赖的实体

c# - 锁定非线程安全的对象,这是可以接受的做法吗?

c# - System.Linq.Enumerable.WhereListIterator 和 System.Linq.Enumerable.WhereSelectListIterator 之间有什么区别?

c# - Azure 函数有时不会将行插入 SQL Server