在 Azure 函数中使用自己的包(工件)?

Use own packages (Artifact) in Azure function?

我想在 azure 函数中使用部署在 azure 工件上的包

在本地很简单:只需更新 pip.ini,根据要求安装效果很好,我可以在本地启动我的 azure 函数,一切正常

但是部署的时候怎么办呢?也许我需要在我的主文件夹中的某个地方放一个 pip.ini ?

谢谢

因为您已经生成了 requirements.txt 文件并且它包含了您的函数项目中包的所有信息。您只需要将您的函数项目(使用 requirements.txt)部署到 Azure。它将根据 requirements.txt 自动安装软件包。关于将python函数部署到azure的更多信息,可以参考这个tutorial.

更新:

正如您在评论中提到的,您的包裹不是 public 包裹。您可以尝试使用以下命令:

func azure functionapp publish <APP_NAME> --build local

此命令将在本地构建您的项目,然后将其部署到 azure。(但我不确定此命令是否可以正常工作,因为它也从 requirements.txt 文件中读取)

如果"build local"命令不起作用,您需要使用docker,请参考下面截图中的步骤:

这里是 tutorial 有关上述步骤的更多信息。

我终于找到了解决办法:

转到您的 azure 函数,然后打开命令

此处启动不同的命令:

mkdir pipconfig
cd pipconfig

现在你的 pip.ini 与 :

echo "[global]" > pip.ini
echo "extra-index-url=https://XXXXX" >> pip.ini

用上次urllink给你的神器 现在你已经在你的 azure 函数中创建了你的 pip.ini,转到你的环境变量并创建:

PIP_CONFIG_FILE with value /home/pipconfig/pip.ini

并重新启动您的功能:您可以像往常一样发布并且可以导入您的私有工件

希望对其他人有所帮助

从您在 Azure 门户中的函数,导航到其配置边栏选项卡。然后在“应用程序设置”选项卡下添加单击 'New Application Setting'。提供以下内容作为密钥:

PIP_EXTRA_INDEX_URL

将值设置为您要使用的URL。

来源:https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#custom-dependencies

任何pip标志都可以设置为环境变量,例如

--trusted-host

可以设为

PIP_TRUSTED_HOST

只需前缀 PIP_ 然后带有 - 的大写标志更改为 _