英文:
Unable to explain why my Python based Azure Function is not appearing when using GitHub actions to deploy
问题
我似乎无法诊断为什么我的基于Python的Azure函数(通过GitHub操作部署)不会出现在Azure函数列表中。有一些微妙的原因导致它无法被处理。
我已成功使用GitHub操作部署了我的Python脚本(请参见图片1)。
我已成功看到我的Azure函数中可见的应用程序文件(请参见图片2)。
但是,我无法在函数列表中看到我的函数(请参见图片3)。
我觉得如果我能够看到Azure如何处理我的文件,以查看是否存在某些配置或模块或其他问题,那么我就会有一个起点。但是现在感觉像一个黑匣子,我不知道应该遵循什么方法来找出问题所在。
我觉得可能有一些简单的东西丢失或配置错误,请帮忙。
英文:
I don't seem to be able to diagnose why my python based azure function (deployed via github actions) is not appearing in the azure function list. Something subtle is causing it to not be processed
I have successfully deployed my python script using github actions (see pic1).
I have been able to successfully see the app files visible within my azure function (see pic2).
And yet I am unable to see my function within the functions list (see pic3).
I feel like if I just had the ability to see what or how Azure is processing my files, to see if there's a problem with some configuration OR modules OR something then I would have a starting point. But right now it feels like a blackbox and I don't know what methodology to follow to figure out what's wrong.
I feel like there is something simple missing OR misconfigured, please help
答案1
得分: 2
我尝试使用GitHub操作进行Azure函数部署,成功了。
最初,当我部署函数时,它是不可见的,如下所示:-
确保您的init.py和function.json位于同一个目录中,而其他文件位于该目录之外,以使部署成功进行,参考以下:-
引用:SO Thread 由jsprovoke回答
现在,我使用GitHub操作部署了函数,该函数在门户中可见,请参考以下:-
请参阅我的完整GitHub工作流程链接.
name: Build and deploy Python project to Azure Function App - siliconfunc12
on:
push:
branches:
- main
workflow_dispatch:
env:
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
PYTHON_VERSION: '3.10' # set this to the python version to use (supports 3.6, 3.7, 3.8)
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Python version
uses: actions/setup-python@v1
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: pip install -r requirements.txt
# Optional: Add step to run tests here
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: python-app
path: |
.
!venv/
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-function.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: python-app
path: .
- name: 'Deploy to Azure Functions'
uses: Azure/functions-action@v1
id: deploy-to-function
with:
app-name: 'siliconfunc12'
slot-name: 'Production'
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_E640D92BF68849679F8A36682B022D5F }}
scm
<details>
<summary>英文:</summary>
I tried the Azure Function Deployment with Github actions and it was successful.
Initially, When I deployed the Function it was not visible, Refer below:-
![enter image description here](https://i.imgur.com/sBFJenr.png)
Make sure your init.py and function.json is inside one directory and other files are outside that directory for the deployment to work successfully, Refer below:-
Reference:- [SO Thread](https://stackoverflow.com/questions/74035303/azure-function-apps-not-showing-in-azure-portal) answer by jsprovoke
![enter image description here](https://i.imgur.com/csk6zRg.png)
Now, I deployed the Function with Github action and the Function was visible in the Portal refer below:-
**Refer my complete github workflow in this [**Link**](https://rhysd.github.io/actionlint/#eJytVdty2kgQfddX9JZTxW6VR9g4IVhPkbnE1Do25UtSyQs1kgZrYjGjnQvEm+Tf0zMjMGCTfdkXQJruPqfP6R4OYEK1YfAorYKlVA+zSi7hc/rhAowEU3INuSwYsIIbqaLoAAYy1zCTCg8ZpP9axeATyyCtaw0DVlfyEWhuuBQJlMbUOmm377kpbRbnct6mLqE9s8KHaBJCsewHiYXec3NusVY49Cge4cVS/qQdCuhVBS5mEqSAyaMppTjcqXgIVBQN6dGKw1Nx+kDjuW7XPpcsWUaxKbJCiASdI5Mzy6vC1ylCtwEKaiW/stw42bYBnDRAQPOK51K41o87UYT6RAC11aX7BsgUFXnJdHgCTJhTLvBhZcq04LqmJsf4iImFi0u/3F0Pp6O7y/7t+OoynUymk7T/d/p+iN+35wm04hYcgGYmGOkNZYBFSvc7WI7WYZcr9ofY1IzayqyjFauldt4/gpLSIOrk8+351eX04/D6BlER5SQ+PnoRKAizYEo7GfCt1Qz+1LaupUKEk7h7iB9v3Ufvryj6KjPffuYUDjooizPiRslmVhhLKmqYNv4Ip7beUCuY0y9Z/iCt2aDdRIADR68bN9t5E/lugWZsF7lhxtYrWxv2e6poF0pCo+8Wx+uoJY5psn6CRgrSFEvg1ffvgCbG21rCz5+7XPqKYct+3LShysCCK2Np5bK5kmLOhFnjoFoJ/HgGC2SObYiF/9g41TgAOfNv2xkXfpUWiLbLYSwQuqrcvDNRMJFzprcxa17j5oUoolD8fyxXzHHTsfn2RLD5cQBXtdOPVgmkReGtdOOBtcD5q6Fk6hmNO9w2ipunDJ8hVX87hBV0QIDTs8ck6xPJKtE5vs+ngNS4hXuxqSWuzba6ADFsPf7hpXS8A6//nGHBWIFE/cD7FxuurmgFSq2JkoX1DbWaA6uqMEh+E+IASYwkq9s1xvGuLVoQbjKCCesJe3F7BnIpdjRWch7o/Ubfokn7fxSOd31vNf8qzy5W3dohlL7457K5l7xI4LlQe8k61RoSW9d3a3OLKmnIXpNCX/kDvWdPW//7e9t5tJFss4rrkuAFPeNVU0SzXDE01hfC/Jvh9cdxH9Pvzi7GN+eT66vR+GI4HXZfHw1OO2ejbq/3+rT79nTUS0+63V7n7KjTGbwZbSPpfE4KSbzbpLCKi3vytF8JGGXZRjgTNKsYwRv2W8gJEb8ANleNsw==).**
```yml
name: Build and deploy Python project to Azure Function App - siliconfunc12
on:
push:
branches:
- main
workflow_dispatch:
env:
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
PYTHON_VERSION: '3.10' # set this to the python version to use (supports 3.6, 3.7, 3.8)
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Python version
uses: actions/setup-python@v1
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: pip install -r requirements.txt
# Optional: Add step to run tests here
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: python-app
path: |
.
!venv/
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-function.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: python-app
path: .
- name: 'Deploy to Azure Functions'
uses: Azure/functions-action@v1
id: deploy-to-function
with:
app-name: 'siliconfunc12'
slot-name: 'Production'
package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_E640D92BF68849679F8A36682B022D5F }}
scm-do-build-during-deployment: true
enable-oryx-build: true
Output:-
Python Function HTTPTrigger visible in Portal like below:-
Add the settings below to run your function app from Zip:-
HTTPTrigger ran successfully like below:-
You can directly run your Function app deployment from Deployment center with Github that will automatically create Github workflow and deploy your Function Trigger to Function app, Refer below:-
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论