你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供了 Azure Functions Core Tools 的参考文档,可让你从本地计算机开发、管理和部署Azure Functions项目。 若要了解有关使用 Core Tools 的详细信息,请参阅 Work with Azure Functions Core Tools。
Core Tools 命令归纳为以下上下文,每个上下文提供一组独特的操作。
| 命令上下文 | 说明 |
|---|---|
func |
用于在本地计算机上创建和运行函数的命令。 |
func azure |
用于处理Azure资源的命令,包括发布。 |
func azurecontainerapps |
用于将容器化函数应用部署到Azure 容器应用的命令。 |
func bundles |
用于管理扩展捆绑包的命令。 |
func durable |
用于Durable Functions的命令。 |
func extensions |
用于安装和管理扩展的命令。 |
func kubernetes |
用于 Kubernetes 和Azure Functions的命令。 |
func settings |
用于管理本地 Functions 主机的环境设置的命令。 |
func templates |
用于列出可用函数模板的命令。 |
在使用本文中的命令之前, 请安装 Core Tools。
func init
使用特定语言创建新的 Functions 项目。
func init [<PROJECT_FOLDER>]
当你提供 <PROJECT_FOLDER> 时,系统会在具有此名称的新文件夹中创建项目。 否则,将使用当前文件夹。
此命令 func init 支持版本 1.x 中不支持的这些选项,除非另有说明:
| 选项 | 说明 |
|---|---|
--bundles-channel、-c |
扩展捆绑包发布通道。 支持的值包括: GA (默认值) Preview和 Experimental。 仅适用于非.NET项目。 |
--configuration-profile |
使用主机配置文件初始化项目。 该 --configuration-profile 选项目前处于预览状态。 有关详细信息,请参阅 配置文件。 |
--csx |
将.NET函数创建为 C# 脚本,即版本 1.x 行为。 仅对 --worker-runtime dotnet 有效。 |
--docker |
使用基于所选 --worker-runtime的基础映像为容器创建 Dockerfile。 计划部署容器化函数应用时,请使用此选项。 |
--docker-only |
将 Dockerfile 添加到现有项目中。 如果未在 local.settings.json中指定或设置,则提示输入辅助角色运行时。 如果你计划部署容器化函数应用而项目已存在,请使用此选项。 |
--force |
即使项目中存在现有的文件,也要初始化该项目。 此设置会覆盖同名的现有文件。 项目文件夹中的其他文件不受影响。 |
--language、-l |
初始化特定于语言的项目。 当前在设置为 typescript 和 javascript。 你也可使用 --worker-runtime javascript 或 --worker-runtime typescript。 |
--managed-dependencies |
安装托管的依赖项。 目前,只有 PowerShell 辅助角色运行时支持此功能。 |
--model、-m |
当有多个模型可用时,设置目标语言的编程模型。 支持的选项为 Python 的 V1 和 V2,V3 和 V4 用于 Node.js。 有关详细信息,请参阅 Python 开发人员指南和 Node.js 开发人员指南。 |
--no-bundle |
请勿在 host.json中配置扩展捆绑包。 仅适用于非.NET项目。 |
--no-docs |
跳过生成“入门”文档文件。 适用于Python项目。 |
--skip-npm-install |
在创建项目后跳过运行 npm install 。 适用于 Node.js 项目。 |
--source-control |
控制是否创建 Git 存储库。 默认不会创建存储库。 如果为 true,则会创建存储库。 |
--worker-runtime |
设置项目的语言运行时。 支持的值为:csharp、、、dotnet、dotnet-isolatedjavascript、 node JavaScript powershell和pythontypescript。 对于 Java,请使用 Maven。 若要仅使用项目文件生成与语言无关的项目,请使用 custom。 如果未设置,则初始化期间系统会提示你选择运行时。 |
--target-framework |
设置函数应用项目的目标框架。 仅对 --worker-runtime dotnet-isolated 有效。 支持的值包括:net10.0(预览)、net9.0、net8.0(默认值)、net6.0 和 net48(.NET Framework 4.8)。 |
注意
使用 --docker 或 --docker-only 选项时,Core Tools 会自动为 C#、JavaScript、Python 和 PowerShell 函数创建 Dockerfile。 对于Java函数,必须手动创建 Dockerfile。 有关详细信息,请参阅创建容器化函数应用。
配置文件
重要
对配置文件的支持目前为预览版。
使用 --configuration-profile 此选项时,将创建一组预定义的项目配置和设置。 指定配置文件时,初始化可能会跳过所有其他初始化步骤。
| 配置文件值 | 说明 | 特定操作 |
|---|---|---|
mcp-custom-handler |
创建一个项目,该项目使用 自定义处理程序 来托管 AI 代理和其他 MCP 客户端可以连接到的 MCP(模型上下文协议) 服务器。 | • 使用特定的自定义处理程序设置配置 "configurationProfile": "mcp-custom-handler"host.json 文件中的元素。• 设置为 MCP_EXTENSION_ENABLEDtruelocal.settings.json。 |
func logs
获取在 Kubernetes 群集中运行的函数的日志。
func logs --platform kubernetes --name <APP_NAME>
该 func logs 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--platform |
函数应用的托管平台。 有效选项: kubernetes. |
--name |
Azure中的函数应用名称。 |
有关详细信息,请参阅使用 KEDA 的 Kubernetes 上的 Azure Functions。
func new
基于模板在当前项目中创建新函数。
func new
在没有 func new 选项的情况下运行 --template 时,系统会提示你选择模板。 在版本 1.x 中,还需要选择语言。
该 func new 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--authlevel、-a |
设置 HTTP 触发器的授权级别。 支持的值为:function、anonymous、admin。 在本地运行时,不会强制实施授权。 有关详细信息,请参阅授权级别。 |
--csx |
(2.x 及更高版本。)生成版本 1.x 和门户所用的相同 C# 脚本 (.csx) 模板。 |
--file、-f |
新函数的目标文件。 对于 Python v2 项目,指定要将函数添加到的文件(默认为 function_app.py)。 对于 Node.js v4 项目,指定文件夹中的 src/functions 输出文件名。 不适用于已编译.NET项目。 |
--language、-l |
模板编程语言,如 C# 或 JavaScript。 此选项在版本 1.x 中是必需的。 在版本 2.x 及更高版本中,请勿使用此选项,因为该语言由辅助角色运行时定义。 |
--name、-n |
函数名称。 |
--template、-t |
使用 func templates list 命令查看每种受支持语言的可用模板的完整列表。 |
有关详细信息,请参阅创建函数。
func pack
创建一个部署包,其中包含处于可运行状态的project代码。 如果需要在 func azure functionapp publish 命令外部的本地计算机上手动为应用创建部署包,请使用此方法。 默认情况下, func pack 根据需要生成项目。
func pack [<FOLDER_PATH>]
默认情况下, func pack 打包当前目录,输出 .zip 文件的名称与项目的根文件夹相同。 在包含 host.json 项目文件的目录中运行func pack。 如果需要在另一个目录中运行 func pack ,请设置为 <FOLDER_PATH> 项目根路径,例如 func pack ./myprojectroot。 如果特定 .zip 文件已存在,则首先将其删除,然后替换为更新的版本。
该 func pack 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--output、-o |
设置创建部署 .zip 包文件的位置的路径。 |
--no-build |
包装前不会生成Project。 对于 C# 应用,仅在已生成二进制文件时使用。 对于 Node.js 应用,同时 npm install 跳过并 npm run build 跳过。 |
--skip-install |
打包基于 Node.js的函数应用时跳过运行 npm install 。 用于避免覆盖自定义 npm 模块。 |
--build-native-deps |
使用与Azure中使用的环境匹配的映像在本地安装Python依赖项。 启用后,Core Tools 将启动 Docker 容器,在该容器内部生成应用,并创建一个 .zip 文件,其中还原 .python_packages了所有依赖项。 在 Windows 上运行此选项,以避免在 Azure 中部署到 Linux 时出现潜在的库问题。 |
func run
仅限 1.x 版。
使你能够直接调用函数,这类似于使用 Azure 门户中的 Test 选项卡运行函数。 此操作仅在版本 1.x 中受支持。 对于更高版本,请使用 func start 并直接调用函数终结点。
func run
该 func run 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--content |
传递给函数的内联内容。 |
--debug |
运行函数前,将调试程序附加到主机进程。 |
--file |
要用作内容的文件名。 |
--no-interactive |
不提示输入,这适用于自动化方案。 |
--timeout |
本地 Functions 主机准备就绪前的等待时间(以秒为单位)。 |
例如,若要调用 HTTP 触发的函数并传递内容正文,请运行以下命令:
func run MyHttpTrigger --content '{\"name\": \"Azure\"}'
func start
启动本地运行时主机并加载当前文件夹中的函数项目。
具体命令取决于运行时版本。
func start
该 func start 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--cert |
包含私钥的 .pfx 文件的路径。 仅支持与 --useHttps 一起使用。 |
--cors |
以逗号分隔的 CORS 来源列表,其中不包含空格。 |
--cors-credentials |
允许使用 Cookie 和身份验证标头的跨域身份验证请求。 |
--dotnet-isolated-debug |
设置为 true 时,将暂停.NET工作进程,直到调试程序从正在调试的.NET隔离项目中附加。 |
--enable-json-output |
尽可能以 JSON 的形式发出控制台日志。 |
--enableAuth |
启用具有授权要求的完整身份验证处理管道。 |
--functions |
要加载的以空格分隔的函数列表。 |
--json-output-file |
如果提供,则为使用时 --enable-json-output用于写入输出的文件的路径。 |
--language-worker |
用于配置语言辅助角色的参数。 例如,可以通过提供 debug 端口和其他必需参数来为语言辅助角色启用调试。 |
--no-build |
运行前不生成当前项目。 仅适用于.NET类项目。 默认值为 false。 |
--password |
密码或包含 .pfx 文件密码的文件。 只能与 --cert 配合使用。 |
--port、-p |
要侦听的本地端口。 默认值:7071。 |
--runtime |
设置要启动的主机版本。 允许的值为: inproc6、 inproc8和 default (运行进程外主机)。 |
--timeout、-t |
Functions 主机启动的超时时间(以秒为单位)。 默认值:20 秒。 |
--useHttps |
绑定到 https://localhost:{port} ,而不是绑定到 http://localhost:{port} 。 默认情况下,此选项会在计算机上创建可信证书。 |
--user-log-level |
设置用户日志的最低日志级别。 有效值为:Trace、、、Debug、WarningInformation、Error、 Critical和None。 此设置不会影响系统日志。 对于.NET独立项目,还可以使用 builder.Logging.SetMinimumLevel(LogLevel.Debug) 设置 Program.cs 中的最低级别,使此选项生效。 |
运行项目后, 验证各个函数终结点。
func azure functionapp
上下文 func azure functionapp 包含以下命令:
func azure functionapp fetch-app-settingsfunc azure functionapp list-functionsfunc azure functionapp logstreamfunc azure functionapp publish
所有 func azure functionapp 命令都支持以下选项:
| 选项 | 说明 |
|---|---|
--slot |
如果已配置,则面向特定的命名 部署槽位。 |
--access-token |
提供访问令牌(默认令牌)用于在Azure中执行经过身份验证的操作。 |
--access-token-stdin |
从标准输入读取特定访问令牌。 直接从上一个命令 az account get-access-token读取令牌时,请使用此选项。 |
--management-url |
设置Azure云的管理 URL,默认为 https://management.azure.com。 当函数应用在主权云中运行时,请使用此选项。 |
--subscription |
设置默认Azure订阅。 |
func azure functionapp fetch-app-settings
从特定函数应用获取设置。
func azure functionapp fetch-app-settings <APP_NAME>
有关详细信息,请参阅下载应用程序设置。
设置下载到项目的 local.settings.json 文件中。 为了安全起见,将对屏幕上的值进行掩码处理。 你可以通过启用本地加密来保护 local.settings.json 文件中的设置。
func azure functionapp list-functions
列出指定函数应用中的函数。
func azure functionapp list-functions <APP_NAME>
该 func azure functionapp list-functions 命令支持此选项:
| 选项 | 说明 |
|---|---|
--show-keys |
在返回的函数终结点 URL 中包含函数级访问键值。 |
func azure functionapp logstream
将本地命令提示符连接到Azure中函数应用的流式处理日志。
func azure functionapp logstream <APP_NAME>
连接的默认超时时间为 2 小时。 通过添加名为 SCM_LOGSTREAM_TIMEOUT 的应用设置(以秒为单位)来更改超时值。
在弹性消耗或消耗计划中尚不支持 Linux。 对于这些应用,请使用 --browser 选项在门户中查看日志。
该 func azure functionapp logstream 命令支持此选项:
| 选项 | 说明 |
|---|---|
--browser |
在默认浏览器中打开函数应用的 Azure 应用程序 Insights Live Stream。 |
有关详细信息,请参阅 Azure Functions 中启用流式处理执行日志。
func azure functionapp publish
将 Functions 项目部署到Azure中的现有函数应用资源。
func azure functionapp publish <APP_NAME>
有关详细信息,请参阅部署项目文件。
以下发布选项基于版本适用:
| 选项 | 说明 |
|---|---|
--additional-packages |
构建本机依赖项时要安装的包列表。 例如: python3-dev libevent-dev。 |
--build、-b |
部署到 Linux 函数应用时执行生成操作。 接受:remote 和 local。 |
--build-native-deps |
发布Python函数应用时,跳过生成 .wheels 文件夹。 |
--csx |
发布 C# 脚本 (.csx) 项目。 |
--dotnet-cli-params |
发布编译的 C# (.csproj) 函数时,核心工具调用 dotnet build --output bin/publish。 传递给此选项的任何参数将追加到命令行。 |
--dotnet-version |
对于 dotnet-isolated 应用程序,指定目标.NET版本(例如,8.0)。 |
--force |
在某些情况下忽略预发布验证。 |
--list-ignored-files |
根据 .funcignore 文件显示发布过程中忽略的文件列表。 |
--list-included-files |
显示已发布的文件列表,该文件基于 .funcignore 文件。 |
--no-build |
发布期间不会生成Project。 对于 Python,pip install不会运行。 |
--nozip |
关闭默认的 Run-From-Package 模式。 将文件提取到 wwwroot 服务器上的文件夹,而不是直接从部署包运行这些文件。 |
--overwrite-settings、-y |
禁止在使用 --publish-local-settings -i时覆盖应用设置的提示。 |
--publish-local-settings、-i |
将 local.settings.json 中的设置发布到Azure,提示覆盖设置(如果已存在)。 如果使用的是本地存储模拟器,请先将应用设置更改为实际的存储连接。 |
--publish-settings-only、-o |
仅发布设置并跳过内容。 默认为提示。 |
--show-keys |
将函数键添加到日志中显示的 URL。 |
func azure storage fetch-connection-string
获取指定Azure 存储帐户的连接字符串。
func azure storage fetch-connection-string <STORAGE_ACCOUNT_NAME>
有关详细信息,请参阅 download a storage 连接字符串。
func azurecontainerapps deploy
将容器化函数应用部署到Azure 容器应用环境。 函数应用和环境使用的存储帐户必须已存在。 有关详细信息,请参阅Azure 容器应用托管 Azure Functions。
func azurecontainerapps deploy --name <APP_NAME> --environment <ENVIRONMENT_NAME> --storage-account <STORAGE_CONNECTION> --resource-group <RESOURCE_GROUP> --image-name <IMAGE_NAME> --registry-server <REGISTRY_SERVER> --registry-username <USERNAME> --registry-password <PASSWORD>
以下部署选项适用:
| 选项 | 说明 |
|---|---|
--environment |
现有容器应用环境的名称。 |
--image-build |
true设置为跳过本地 Docker 生成。 |
--image-name |
容器注册表中现有容器映像的名称,包括标记名称。 |
--location |
用于部署的区域。 理想情况下,此区域与环境和存储帐户资源相同。 |
--name |
用于容器应用环境中函数应用部署的名称。 在门户中管理函数应用时,也会显示此名称。 该名称在环境中必须是唯一的。 |
--registry |
设置后,将运行 Docker 生成,并将映像推送到注册表集中 --registry。 不能将 --registry 与 --image-name 一起使用。 对于Docker Hub,也可以使用 --registry-username。 |
--registry-password |
用于从专用注册表检索映像的密码或令牌。 |
--registry-username |
用于从专用注册表检索映像的用户名。 |
--resource-group |
要在其中创建与函数相关的资源的资源组。 |
--storage-account |
函数应用要使用的存储帐户的连接字符串。 |
--worker-runtime |
设置函数应用的运行时语言。 此参数仅用于和 --image-name--image-build;否则,在本地生成期间确定语言。 支持的值包括:dotnet、、dotnetIsolated、nodepython、和 powershellcustom (对于自定义处理程序)。 |
重要
存储连接字符串和其他服务凭据是重要的机密。 安全地存储使用 func azurecontainerapps deploy 的任何脚本文件,并且不会将其存储在任何可公开访问的源代码管理中。
func deploy
func deploy 命令已弃用。 请改用 func kubernetes deploy。
func bundles add
将扩展捆绑包配置添加到 host.json 文件。
func bundles add
该 func bundles add 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--force、-f |
覆盖现有的扩展捆绑包配置(如果存在)。 |
--channel、-c |
扩展捆绑包发布通道。 支持的值包括: GA (默认值) Preview和 Experimental。 |
func bundles download
下载 在host.json中配置的扩展捆绑包。
func bundles download
该 func bundles download 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--force、-f |
强制重新加载扩展捆绑包(即使它已存在)。 |
func bundles list
列出下载的扩展捆绑包。
func bundles list
func bundles path
获取下载的扩展捆绑包的路径。
func bundles path
func durable delete-task-hub
删除Durable Functions任务中心中的所有存储项目。
func durable delete-task-hub
该 func durable delete-task-hub 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--task-hub-name |
要使用的 Durable 任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable get-history
返回指定业务流程实例的历史记录。
func durable get-history --id <INSTANCE_ID>
该 func durable get-history 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--id |
业务流程实例的 ID。 (必需) |
--connection-string-setting |
具有要使用的存储连接字符串的设置的名称。 |
--task-hub-name |
要使用的 Durable 任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable get-instances
返回所有业务流程实例的状态。 此命令支持使用 top 参数进行分页。
func durable get-instances
该 func durable get-instances 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--continuation-token |
指示要返回的请求的特定页面或部分的令牌。 |
--connection-string-setting |
包含要使用的存储连接字符串的应用设置的名称。 |
--created-after |
获取在此日期和时间之后创建的实例(UTC)。 接受所有 ISO 8601 格式的日期时间。 |
--created-before |
获取在特定日期和时间(UTC)之前创建的实例。 接受所有 ISO 8601 格式的日期时间。 |
--runtime-status |
获取其状态与特定状态(包括 running, completed和 failed)匹配的实例。 可以提供一个或多个空格分隔的状态。 |
--top |
限制给定请求中返回的记录数。 |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable get-runtime-status
返回指定业务流程实例的状态。
func durable get-runtime-status --id <INSTANCE_ID>
该 func durable get-runtime-status 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--id |
业务流程实例的 ID。 (必需) |
--show-input |
设置时,响应包括函数的输入。 |
--show-output |
设置时,响应包括执行历史记录。 |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable purge-history
清除早于指定阈值的业务流程的业务流程实例状态、历史记录和 Blob 存储。
func durable purge-history
该 func durable purge-history 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--created-after |
删除在此日期/时间(UTC)之后创建的实例的历史记录。 接受所有 ISO 8601 格式的日期时间值。 |
--created-before |
删除在此日期/时间(UTC)之前创建的实例的历史记录。 接受所有 ISO 8601 格式的日期时间值。 |
--runtime-status |
删除其状态与特定状态(包括completed、terminated和canceledfailed)匹配的实例的历史记录。 提供一个或多个空格分隔的状态。 如果不包括 --runtime-status,则无论状态如何,都会删除实例历史记录。 |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable raise-event
向指定的业务流程实例引发事件。
func durable raise-event --event-name <EVENT_NAME> --event-data <DATA>
该 func durable raise-event 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--event-data |
要传入或传入 JSON 文件的事件的数据。 对于文件,请为文件的路径添加一个登录前缀(@例如 @path/to/file.json。 (必需) |
--event-name |
要引发的事件的名称。 (必需) |
--id |
业务流程实例的 ID。 (必需) |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable rewind
回退指定的业务流程实例。
func durable rewind --id <INSTANCE_ID> --reason <REASON>
该 func durable rewind 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--id |
业务流程实例的 ID。 (必需) |
--reason |
回退业务流程的原因。 (必需) |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable start-new
启动指定业务流程协调程序函数的新实例。
func durable start-new --id <INSTANCE_ID> --function-name <FUNCTION_NAME> --input <INPUT>
该 func durable start-new 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--function-name |
要启动的业务流程协调程序函数的名称。 (必需) |
--id |
指定业务流程实例的 ID。 (必需) |
--input |
内联或来自 JSON 文件的业务流程协调程序函数的输入。 对于文件,请使用与号(@如 @path/to/file.json)作为文件路径的前缀。 (必需) |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func durable terminate
结束指定的业务流程实例。
func durable terminate --id <INSTANCE_ID> --reason <REASON>
该 func durable terminate 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--connection-string-setting |
包含要使用的存储连接字符串的设置的名称。 |
--id |
指定业务流程实例的 ID。 (必需) |
--reason |
结束业务流程的原因。 (必需) |
--task-hub-name |
要使用的Durable Functions任务中心的名称。 |
有关详细信息,请参阅 Durable Functions 文档。
func extensions install
在非.NET项目或 C# 脚本项目中手动安装 Functions 扩展。
func extensions install --package Microsoft.Azure.WebJobs.Extensions.<EXTENSION> --version <VERSION>
该 func extensions install 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--configPath、-c |
包含 extensions.csproj 文件的目录的路径。 |
--csx |
支持 C# 脚本 (.csx) 项目。 |
--force、-f |
更新现有扩展的版本。 |
--output、-o |
扩展的输出路径。 |
--package、-p |
特定扩展包的标识符。 如果未指定,则与 func extensions sync 一样,安装所有引用的扩展。 |
--source、-s |
不使用 NuGet.org 时的 NuGet 馈送源。 |
--version、-v |
扩展包版本。 |
以下示例在本地项目中安装 5.0.1 版事件中心扩展:
func extensions install --package Microsoft.Azure.WebJobs.Extensions.EventHubs --version 5.0.1
使用 func extensions install以下注意事项时适用:
对于已编译的 C# 项目(进程内和独立工作进程),请改用标准 NuGet 包安装方法,例如
dotnet add package。若要使用 Core Tools 手动安装扩展,必须安装 .NET SDK。
如果可能,应改为使用扩展捆绑包。 下面是可能需要手动安装扩展的一些原因:
- 需要访问捆绑包中不可用的扩展的特定版本。
- 需要访问捆绑包中不可用的自定义扩展。
- 需要访问单个捆绑包中不可用的特定扩展组合。
必须先从定义捆绑包的host.json 文件中删除对象
extensionBundle,然后才能手动安装扩展。 在 host.json 文件中已设置扩展捆绑包时,不执行任何操作。首次显式安装扩展时,会将名为 extensions.csproj 的.NET项目文件添加到应用项目的根目录中。 此文件定义函数所需的 NuGet 包集。 尽管你可以使用此文件中的 NuGet 包引用,但 Core Tools 允许你在不需手动编辑此 C# 项目文件的情况下安装扩展。
func extensions sync
安装添加到函数应用的所有扩展。
该 func extensions sync 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--configPath、-c |
包含 extensions.csproj 文件的目录的路径。 |
--csx |
支持 C# 脚本 (.csx) 项目。 |
--output、-o |
扩展的输出路径。 |
重新生成缺少的 extensions.csproj 文件。 在 host.json 文件中定义扩展捆绑包时,不采取任何操作。
func kubernetes deploy
将 Functions 项目作为自定义 docker 容器部署到 Kubernetes 群集。
func kubernetes deploy
此命令会将项目生成为自定义容器,然后发布到 Kubernetes 群集。 自定义容器必须有一个 Dockerfile。 若要使用 Dockerfile 创建应用,请使用 --dockerfile 选项和 func init 命令。
该 func kubernetes deploy 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--dry-run |
显示部署模板,但不执行。 |
--config-map-name |
用于部署的 函数应用设置 的现有配置映射的名称。 需要 --use-config-map。 默认行为是基于 local.settings.json 文件中的对象创建设置Values。 |
--cooldown-period |
在部署缩减到零之前,所有触发器(以秒为单位)的冷却期(以秒为单位)不再处于活动状态,默认值为 300 秒。 |
--ignore-errors |
在资源返回错误后继续部署。 默认行为是出错时停止。 |
--image-name |
要用于 Pod 部署以及从中读取函数的映像的名称。 |
--keda-version |
设置要安装的 KEDA 版本。 有效选项为:v1 和 v2(默认)。 |
--keys-secret-name |
用于存储访问密钥的 Kubernetes 机密集合的名称。 |
--max-replicas |
设置水平 Pod 自动缩放程序(HPA)缩放到的最大副本计数。 |
--min-replicas |
设置 HPA 不会缩放的最小副本计数。 |
--mount-funckeys-as-containervolume |
将 访问密钥 装载为容器卷。 |
--name |
用于 Kubernetes 中的部署和其他项目的名称。 |
--namespace |
设置要部署到的 Kubernetes 命名空间。 默认为默认命名空间。 |
--no-docker |
从当前目录读取函数,而不是从映像读取函数。 需要装载映像文件系统。 |
--registry |
设置后,Docker 生成将运行,并将映像推送到该名称的注册表。 不能将 --registry 与 --image-name 一起使用。 对于 Docker,请使用你的用户名。 |
--polling-interval |
检查非 HTTP 触发器的轮询间隔(以秒为单位),默认为 30 秒。 |
--pull-secret |
用于访问专用注册表凭据的机密。 |
--secret-name |
现有 Kubernetes 机密集合的名称,该集合具有要用于部署的 函数应用设置 。 默认行为是基于 local.settings.json 文件中的对象创建设置Values。 |
--show-service-fqdn |
使用 Kubernetes FQDN 显示 HTTP 触发器的 URL,而不是使用 IP 地址的默认行为。 |
--service-type |
设置 Kubernetes 服务的类型。 支持的值为:ClusterIP、NodePort 和 LoadBalancer(默认)。 |
--use-config-map |
使用 ConfigMap 对象 (v1) 而不是 Secret 对象 (v1) 来配置函数应用设置。 映射名称是使用 --config-map-name 设置的。 |
--use-git-hash-version |
使用 Git 哈希作为容器映像的版本。 |
--write-configs |
将 Kubernetes 配置输出为 YAML 文件,而不是部署。 |
--config-file |
使用 --write-configs时输出文件路径。 默认值: functions.yaml。 |
--hash-files |
要哈希的文件以确定映像版本。 |
--image-build |
如果设置为 false,则跳过 Docker 生成。 |
--key-secret-annotations |
要添加到密钥机密的批注, key1=val1,key2=val2 格式。 |
Core Tools 使用本地 Docker CLI 生成并发布映像。 确保已在本地安装 Docker。 运行 docker login 命令以连接到帐户。
Azure Functions支持在Azure 容器应用或Azure Functions中托管容器化函数。 Azure Functions不支持直接在 Kubernetes 群集或 Azure Kubernetes 服务 (AKS) 中运行容器。 有关详细信息,请参阅 Azure Functions 中的
func kubernetes delete
从 Kubernetes 群集中删除 Functions 部署。
func kubernetes delete --name <APP_NAME>
该 func kubernetes delete 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--name |
Kubernetes 中的部署和其他项目的名称。 (必需) |
--namespace |
设置 Kubernetes 命名空间。 默认为 default 命名空间。 |
--registry |
容器注册表的名称。 |
--image-name |
用于 Pod 部署的映像。 |
--keda-version |
设置 KEDA 的版本。 有效选项为 v1 和 v2 (默认值)。 |
func kubernetes install
在 Kubernetes 群集中安装 KEDA
func kubernetes install
将 KEDA 安装到 kubectl 配置文件中定义的群集。
该 func kubernetes install 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--dry-run |
显示部署模板而不执行。 |
--keda-version |
设置要安装的 KEDA 版本。 有效选项为:v1 和 v2(默认)。 |
--namespace |
安装到特定的 Kubernetes 命名空间。 如果未设置,则使用默认命名空间。 |
有关详细信息,请参阅 在 Kubernetes 中管理 KEDA 和函数。
func kubernetes remove
从配置文件中 kubectl 定义的 Kubernetes 群集中删除 KEDA。
func kubernetes remove
从配置文件中 kubectl 定义的群集中删除 KEDA。
该 func kubernetes remove 命令支持此选项:
| 选项 | 说明 |
|---|---|
--namespace |
从特定的 Kubernetes 命名空间中卸载。 如果未设置,则使用默认命名空间。 |
有关详细信息,请参阅 从 Kubernetes 卸载 KEDA。
func settings add
func settings add <SETTING_NAME> <VALUE>
替换为 <SETTING_NAME> 应用设置的名称。
该 func settings add 命令支持此选项:
| 选项 | 说明 |
|---|---|
--connectionString |
将名称/值对添加到 ConnectionStrings 集合,而不是 Values 集合。
ConnectionStrings仅当某些框架需要该集合时,才使用该集合。 有关详细信息,请参阅 local.settings.json 文件。 |
func settings decrypt
解密 local.settings.json 文件中集合中的加密值Values。
func settings decrypt
此命令还会解密 ConnectionStrings 集合中的连接字符串值。 在 local.settings.json 中,IsEncrypted 也设置为 false。 通过加密本地设置,可减少从 local.settings.json 泄露重要信息的风险。 在Azure中,应用程序设置始终存储为加密。
func settings delete
func settings delete <SETTING_NAME>
将 <SETTING_NAME> 替换为应用设置的名称,将 <VALUE> 替换为设置的值。
该 func settings delete 命令支持此选项:
| 选项 | 说明 |
|---|---|
--connectionString |
从 ConnectionStrings 集合中删除名称/值对, Values 而不是集合。 |
func settings encrypt
func settings encrypt
ConnectionStrings 集合中的连接字符串值也会被加密。 在 local.settings.json 中,IsEncrypted 也设置为 true,它指定本地运行时在使用设置之前先对其进行解密。 通过加密本地设置,可减少从 local.settings.json 泄露重要信息的风险。 在Azure中,应用程序设置始终存储为加密。
func settings list
func settings list
输出还包括集合中的 ConnectionStrings 连接字符串。 默认情况下,为了安全起见,将对值进行掩码处理。 你可以使用 --showValue 选项显示实际值。
该 func settings list 命令支持此选项:
| 选项 | 说明 |
|---|---|
--showValue、-a |
显示输出中实际未屏蔽的值。 |
func templates list
列出可用的函数(触发器)模板。
该 func templates list 命令支持此选项:
| 选项 | 说明 |
|---|---|
--language、-l |
用于筛选返回模板的语言。 默认情况下返回所有语言。 |
全局选项
这些选项适用于大多数 Core Tools 命令:
| 选项 | 说明 |
|---|---|
--script-root |
设置函数应用的根目录,并更改命令的工作目录。 |
--verbose |
启用详细日志记录的详细输出。 所有命令都不支持。 |
--offline |
在脱机模式下运行,无需进行外部网络调用。 受 func start支持, func init以及 func new。 还可以通过 FUNCTIONS_CORE_TOOLS_OFFLINE 环境变量进行设置。 |
--version、-v |
显示 Azure Functions Core Tools 的版本。 |
--help、-h |
显示帮助信息。 |
--pause-on-error |
在退出进程之前暂停其他输入。 从集成开发环境(IDE)启动 Core Tools 时非常有用。 |