写入 Azure 函数中的文件失败

Write to a file within Azure Function failing

目前,我正在使用我的 azure 函数(在 python 中)动态写入一个 plist 文件,以便通过 IOS 设备上的浏览器下载应用程序。这在本地工作正常,但是当它发布到 Azure 时,我收到内部服务器错误 500,并且在调用该函数时无法写入文件。这是我的代码片段:

pList = {
        'items': [
            {
                'assets': [
                    {
                        'kind': 'software-package',
                        'url': ipaUrl
                    },
                    {
                        'kind': 'display-image',
                        'needs-shine': False,
                        'url': imageUrl
                    }
                ],
                'metadata': {
                    'bundle-identifier': bundleName,
                    'bundle-version': f'{versionName} ({buildName})',
                    'kind': 'software',
                    'title': appName
                }
            }
        ]
    }
with open('list.plist', 'wb') as file:
    plistlib.dump(pList, file)

有什么建议吗?我不确定函数在部署时是否支持读取/写入文件,所以这可能是我的问题。

如果您的文件可以是临时的,您可以使用临时存储: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python?tabs=azurecli-linux%2Capplication-level#temporary-files

您也可以访问根文件夹 - 但取决于类型 OS。 https://azurelessons.com/how-to-access-azure-functions-wwwroot-folder/

如果您需要永久存储文件,最好link您的应用程序到存储帐户(blob 存储)。 (使用输出绑定或在 SDK 中) https://docs.microsoft.com/en-us/azure/azure-functions/functions-add-output-binding-storage-queue-vs-code?pivots=programming-language-python