gpt4 book ai didi

azure - 通过 GitHub Actions 部署时向 HTTP Function 添加 Function Auth

转载 作者:行者123 更新时间:2023-12-03 06:12:16 26 4
gpt4 key购买 nike

我有一个 Azure Function,正在 VS Code 中本地开发,并通过 GitHub Actions 使用部署管道。使用此部署管道时,该函数实际上从未显示在我创建的函数应用程序的“函数”选项卡中。好的,很好,我可以验证函数和 zip 文件是否已部署,GitHub 操作是否全部成功完成,这太棒了。

问题来自于我想要对 HTTP 功能强制执行的身份验证。我想对 HTTP 请求使用功能级别身份验证。 Microsoft 文档都说要转到 Function App 中 Azure 门户中的函数,单击该函数,然后使用左侧的“功能键”选项为其分配一个键。

这会很棒,只是由于我正在使用的部署管道方法而出现,该函数没有出现在函数列表中,因此无需单击并发出 key 。

关于使用此部署管道时如何强制执行此级别的授权,我是否缺少一些内容?即使我使用此方法进行部署,该函数是否应该显示在函数列表中?我是否应该使用 CLI 生成功能键,因为它在 UI 中不可用?

最佳答案

按照以下步骤使用 GitHub 操作将 Azure Function 部署到函数应用:

  1. 在 GitHub 中创建存储库并将函数代码推送到其中。
  • 打开命令提示符=>转到项目的根文件夹并运行以下命令:
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin <your_repository_url>
git push -u origin main
  • 在门户中创建具有所需功能(操作系统、运行时堆栈)的 Azure 函数。
  • 开始部署过程之前,请在 Function app=>Settings=>Configuration=>Add Application Settings 中添加设置 SCM_DO-BUILD_DURING_DEPLOYMENT=trueENABLE_ORYX_BUILD=true

    enter image description here

    • 打开您的函数应用=>转到部署=>部署中心=>选择GitHub作为并相应地填写剩余字段。

    enter image description here

    • 提交此操作后=>它将生成一个 yaml 文件,其中包含使用 github 操作将功能部署到 azure 的工作流程。

    我的工作流程:

    name: Build and deploy Node.js project to Azure Function App - <functionapp_name>

    on:
    push:
    branches:
    - main
    workflow_dispatch:

    env:
    AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'
    NODE_VERSION: '18.x'

    jobs:
    build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 'Checkout GitHub Action'
    uses: actions/checkout@v2

    - name: Setup Node ${{ env.NODE_VERSION }} Environment
    uses: actions/setup-node@v1
    with:
    node-version: ${{ env.NODE_VERSION }}

    - name: 'Resolve Project Dependencies Using Npm'
    shell: bash
    run: |
    pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
    npm install
    npm run build --if-present
    npm run test --if-present
    popd

    - name: 'Run Azure Functions Action'
    uses: Azure/functions-action@v1
    id: fa
    with:
    app-name: '<functionapp_name>'
    slot-name: 'Production'
    package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
    publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_62XXXXXXX }}

    • 您可以在日志部分跟踪部署状态。

    enter image description here

    • 这样您就可以将函数部署到 Azure 函数应用。

    enter image description here

    门户:

    enter image description here

    要使用功能级别身份验证,如上所述,请单击已部署的function=> Developer =>Function Keys=>Add New function key并分配值,如下所示:

    enter image description here

    关于azure - 通过 GitHub Actions 部署时向 HTTP Function 添加 Function Auth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76622707/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com