我需要在 Azure 中的同一区域和同一资源组中创建一些 Azure 函数。
\n\n在我读到的文档上:
\n\n\n\n\n同一区域的功能应用可以分配到同一个消费计划
\n
但是,当我创建新的 Functiontio 应用程序时,没有选项将新函数分配给之前创建的相同消耗计划。
\n\n\n\n正如您所看到的,即使在同一区域,也没有选择现有计划的选项。
\n\n如何防止为我创建的每个新函数创建新的 AppServicePlan(consumation)?
\n我有一个合适的地方,我必须使用 power shell 触发我的发布管道,所以我必须使用 azure cli,所以他们的任何命令都可以使用 azure cli 触发我的发布管道
azure azure-cli azure-devops azure-functions azure-pipelines
文档说使用 builder.Services.AddHttpClient()HttpClient 进行注册,但我可以在没有这个的情况下解析 HttpClient。
我有一家小型初创公司,只注册 MyService :
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddTransient<MyService>();
}
}
Run Code Online (Sandbox Code Playgroud)
在函数中,我想解析 HttpClient 和 MyService 并且此代码有效。
public class Function
{
public Function(MyService service, HttpClient client)
{
}
[FunctionName("func")]
public async Task<IActionResult> Update(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)]
HttpRequest request,
ILogger logger)
{
return new OkObjectResult("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
builder.Services.AddHttpClient()?这不是多余的吗?当尝试使用 Azure 函数时,我收到此错误。我只是想运行 HttpExample 我从命令中得到了与 Visual Studio Code 中完全相同的错误。这是代码。我是这方面的初学者,因此将提供任何帮助。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud) 我有带有 Http 触发器的 TypeScript azure 函数。我正在使用 POST 方法并将正文发送到 azure 函数。但我无法读取、请求正文数据作为 Javascript 对象。
我的功能代码
import { AzureFunction, Context, HttpRequest } from "@azure/functions"
const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
context.log('HTTP trigger function processed a request.');
const name = (req.query.name || (req.body && req.body.name));
if (name) {
context.res = {
// status: 200, /* Defaults to 200 */
body: "Ar Item search " + (req.query.name || req.body.name)
};
}
else {
context.res = {
status: 400,
body: …Run Code Online (Sandbox Code Playgroud) 所以我有一个持久功能,看起来像这样:
[FunctionName("functionName")]
public async Task functionName([OrchestrationTrigger] IDurableOrchestrationContext context)
{
// some code here
string name = "name";
await context.CallActivityAsync("activityFunction", name);
}
[FunctionName("activityFunction")]
public async Task ActivityFunction([ActivityTrigger] IDurableActivityContext name)
{
// perform an operation here
// need to get current UTC time here
}
Run Code Online (Sandbox Code Playgroud)
无法从活动上下文中获取当前 UTC 时间。我该如何得到它?
我有一个 .NET Core Azure Function 应用程序,在其中连接到 Azure 应用程序配置服务并注册 Key Vault 连接:
using Azure.Identity;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using System;
[assembly: FunctionsStartup(typeof(Func.Accounts.Api.Startup))]
namespace Func.Accounts.Api
{
public class Startup : FunctionsStartup
{
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
string connectionString = Environment.GetEnvironmentVariable("AppConfigConnectionString");
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options.Connect(connectionString)
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
});
});
}
public override void Configure(IFunctionsHostBuilder builder)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以正常连接到该服务,并且可以通过 Azure 门户看到它正在接收请求,但我无法让它实际返回任何配置值。这是配置被注入到函数中后的样子:
我知道应用程序配置服务中有 3 个配置值,但它不返回任何数据,而且我看不到它失败的地方。据我所知,不存在身份验证问题,并且我已经使用相同的方法在不同的项目中成功实现了这一点。
有趣的是,如果我尝试通过检索密钥,Azure App Configuration client library我会在该方法中收到以下404错误GetConfigurationSetting。我很难理解它为什么看不到我的任何配置设置。
我是 Core/Azure Functions 的新手,并尝试使用 DI 容器添加依赖项。
我想将类/接口依赖项添加到 DI 容器:
s.AddSingleton<ITicketService>(new TicketService());
s.AddSingleton<IFoodService>(new FoodService());
s.AddSingleton<IFinancialsService>(new FinancialsService());
Run Code Online (Sandbox Code Playgroud)
我该如何处理上述三个类/接口,它们依赖于存储库类。
s.AddSingleton<ITicketService>(new TicketService(ITicketRepository));
s.AddSingleton<IFoodService>(new FoodService(IFoodRepository));
s.AddSingleton<IFinancialsService>(
new FinancialsService(ITicketRepository,IFoodRepository));
Run Code Online (Sandbox Code Playgroud)
以下是这些类和接口的相关代码:
public interface ITicketService { ... }
public interface IFoodService { ... }
public interface IFinancialsService { ... }
public class TicketService : ITicketService
{
private readonly ITicketRepository _ticketRepo;
public TicketService(ITicketRepository ticketRepo) => _ticketRepo = ticketRepo;
}
public class FoodService : IFoodService
{
private readonly IFoodRepository _foodRepo;
public FoodService(IFoodRepository foodRepo) => _foodRepo = foodRepo;
}
public class …Run Code Online (Sandbox Code Playgroud) c# dependency-injection interface asp.net-core azure-functions
我在 VS Code 中调试 Azure Functions 项目时遇到困难。我使用 func init 创建了一个天蓝色项目。当我从运行菜单中单击“调试”时,项目会生成,但在尝试运行“func host start”时,会出现以下错误:
> Executing task: func host start <
-Command : The term '-Command' is not recognized as the name of a cmdlet, function, script file, or opera
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ -Command func host start
+ ~~~~~~~~
+ CategoryInfo : ObjectNotFound: (-Command:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException …Run Code Online (Sandbox Code Playgroud) azure-functions ×10
azure ×7
c# ×4
.net-core ×2
.net ×1
asp.net-core ×1
azure-cli ×1
azure-devops ×1
interface ×1
kudu ×1
node.js ×1
typescript ×1