本文提供了 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 project。
func init [<PROJECT_FOLDER>]
当提供 <PROJECT_FOLDER> 时,project将在具有此名称的新文件夹中创建。 否则,将使用当前文件夹。
此命令 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 添加到现有project。 如果未在 local.settings.json中指定或设置,则提示输入辅助角色运行时。 如果计划部署容器化函数应用并已存在project,请使用此选项。 |
--force |
即使project中存在现有文件,也会初始化project。 此设置会覆盖同名的现有文件。 project 文件夹中的其他文件不会受到影响。 |
--language,-l |
初始化特定于语言的project。 当前在设置为 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 |
设置project的语言运行时。 支持的值为:csharp、、、dotnet、dotnet-isolatedjavascript、 node JavaScript powershell和pythontypescript。 对于 Java,请使用 Maven。 若要仅使用project文件生成与语言无关的project,请使用 custom。 如果未设置,则初始化期间系统会提示你选择运行时。 |
--target-framework |
设置函数应用project的目标框架。 仅对 --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
基于模板在当前project中创建一个新函数。
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 文件的名称与项目的根文件夹相同。 在包含 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
启动本地运行时主机,并在当前文件夹中加载函数project。
具体命令取决于运行时版本。
func start
该 func start 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--cert |
包含私钥的 .pfx 文件的路径。 仅支持与 --useHttps 一起使用。 |
--cors |
以逗号分隔的 CORS 来源列表,其中不包含空格。 |
--cors-credentials |
允许使用 Cookie 和身份验证标头的跨域身份验证请求。 |
--dotnet-isolated-debug |
设置为 true 时,将暂停.NET工作进程,直到调试程序从正在调试的.NET隔离project附加。 |
--enable-json-output |
尽可能以 JSON 的形式发出控制台日志。 |
--enableAuth |
启用具有授权要求的完整身份验证处理管道。 |
--functions |
要加载的以空格分隔的函数列表。 |
--json-output-file |
如果提供,则为使用时 --enable-json-output用于写入输出的文件的路径。 |
--language-worker |
用于配置语言辅助角色的参数。 例如,可以通过提供 debug 端口和其他必需参数来为语言辅助角色启用调试。 |
--no-build |
在运行之前不要生成当前project。 仅适用于.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、InformationWarning、Error、 Critical和None。 此设置不会影响系统日志。 对于.NET独立项目,还可以使用 Program.cs 设置 builder.Logging.SetMinimumLevel(LogLevel.Debug) 中的最低级别,使此选项生效。 |
运行项目后, 验证各个函数终结点。
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.chinacloudapi.cn。 当函数应用在主权云中运行时,请使用此选项。 |
--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 project部署到Azure中的现有函数应用资源。
func azure functionapp publish <APP_NAME>
有关详细信息,请参阅 Deploy project 文件。
以下发布选项基于版本适用:
| 选项 | 说明 |
|---|---|
--additional-packages |
构建本机依赖项时要安装的包列表。 例如:python3-dev libevent-dev。 |
--build,-b |
部署到 Linux 函数应用时执行生成操作。 接受:remote 和 local。 |
--build-native-deps |
发布Python函数应用时,跳过生成 .wheels 文件夹。 |
--csx |
发布 C# 脚本 (.csx) project。 |
--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,提示覆盖设置(如果已存在)。 如果使用 local storage 模拟器,请先将应用设置更改为 actual storage 连接。 |
--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 容器应用环境。 函数应用和环境使用的存储帐户必须已存在。
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 |
函数应用要使用的storage帐户的连接字符串。 |
--worker-runtime |
设置函数应用的运行时语言。 此参数仅用于和 --image-name--image-build;否则,在本地生成期间确定语言。 支持的值包括:dotnet、、dotnetIsolated、nodepython、和 powershellcustom (对于自定义处理程序)。 |
重要
Storage连接字符串和其他服务凭据是重要的机密。 安全地存储使用 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任务中心中的所有storage artifacts。
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 |
扩展包版本。 |
以下示例在本地project中安装事件中心扩展的版本 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。
如果可能,应改为使用扩展捆绑包。 下面是可能需要手动安装扩展的一些原因:
- 需要访问捆绑包中不可用的扩展的特定版本。
- 需要访问捆绑包中不可用的自定义扩展。
- 需要访问单个捆绑包中不可用的特定扩展组合。
必须先从
extensionBundle文件中删除对象,然后才能手动安装扩展。 在 host.json 文件中已设置扩展捆绑包时,不执行任何操作。首次显式安装扩展时,会将名为 extensions.csproj 的.NET项目文件添加到应用项目的根目录中。 此文件定义函数所需的 NuGet 包集。 虽然可以在此文件中使用 NuGet 包引用,但 Core Tools 允许你安装扩展,而无需手动编辑此 C# project文件。
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
此命令将project生成为自定义容器并将其发布到 Kubernetes 群集。 自定义容器必须有一个 Dockerfile。 若要使用 Dockerfile 创建应用,请使用 --dockerfile 选项和 func init 命令。
该 func kubernetes deploy 命令支持以下选项:
| 选项 | 说明 |
|---|---|
--dry-run |
显示部署模板,但不执行。 |
--config-map-name |
用于部署的 函数应用设置 的现有配置映射的名称。 需要 --use-config-map。 默认行为是基于 Values 文件中的对象创建设置。 |
--cooldown-period |
在部署缩减到零之前,所有触发器(以秒为单位)的冷却期(以秒为单位)不再处于活动状态,默认值为 300 秒。 |
--ignore-errors |
在资源返回错误后继续部署。 默认行为是出错时停止。 |
--image-name |
要用于 Pod 部署以及从中读取函数的映像的名称。 |
--keda-version |
设置要安装的 KEDA 版本。 有效选项为:v1 和 v2(默认)。 |
--keys-secret-name |
用于存储 access 密钥的 Kubernetes 机密集合的名称。 |
--max-replicas |
设置水平 Pod 自动缩放程序(HPA)缩放到的最大副本计数。 |
--min-replicas |
设置 HPA 不会缩放的最小副本计数。 |
--mount-funckeys-as-containervolume |
将 访问密钥 装载为容器卷。 |
--name |
用于 Kubernetes 中的部署和其他artifacts的名称。 |
--namespace |
设置要部署到的 Kubernetes 命名空间。 默认为默认命名空间。 |
--no-docker |
从当前目录读取函数,而不是从映像读取函数。 需要装载映像文件系统。 |
--registry |
设置后,Docker 生成将运行,并将映像推送到该名称的注册表。 不能将 --registry 与 --image-name 一起使用。 对于 Docker,请使用你的用户名。 |
--polling-interval |
检查非 HTTP 触发器的轮询间隔(以秒为单位),默认为 30 秒。 |
--pull-secret |
用于access专用注册表凭据的机密。 |
--secret-name |
现有 Kubernetes 机密集合的名称,该集合具有要用于部署的 函数应用设置 。 默认行为是基于 Values 文件中的对象创建设置。 |
--show-service-fqdn |
使用 Kubernetes FQDN 显示 HTTP 触发器的 URL,而不是使用 IP 地址的默认行为。 |
--service-type |
设置 Kubernetes 服务的类型。 支持的值为:ClusterIP、NodePort 和 LoadBalancer(默认)。 |
--use-config-map |
使用 ConfigMap 对象(v1)而不是 Secret 对象(v1)来配置 function 应用设置。 映射名称是使用 --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 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
解密 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 时非常有用。 |