【发布时间】:2020-09-14 15:33:12
【问题描述】:
我们正在尝试使用 azure 函数应用程序调用 azure 认知服务 - 翻译器 api。我们在 c# 终端中收到以下错误:
未找到工作职能。尝试制作你的工作类别和方法 上市。如果您使用绑定扩展(例如 Azure 存储, ServiceBus、Timers 等)确保你已经调用了注册 启动代码中扩展的方法(例如 builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers() 等)。
我们的 C# 代码供参考:
private const string key=" ";
private static readonly HttpClient client=new HttpClient
{
DefaultRequestHeaders={{"Ocp-Apim-Subscription-key",key}}
};
public static async Task Main()
{
while(true){
var text=Console.ReadLine();
var translatedText=await Translate(text,"en");
Console.WriteLine(translatedText);
}
}
public static async Task<string> Translate(string text,string language){
var encodedText=WebUtility.UrlEncode(text);
var uri="https://api.microsofttranslator.com/V2/Http.svc/Translate?" + $"to={language}&text={encodedText}";
var result=await client.GetStringAsync(uri);
return XElement.Parse(result).Value;
}
还有.csproj文件代码供参考:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
<RootNamespace>transaltor_cognetive_service</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.7" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.7" >
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<PropertyGroup>
<LangVersion>7.1</LangVersion>
</PropertyGroup>
</Project>
【问题讨论】:
-
“使用 Azure 功能应用”是什么意思?您发布的代码不是 Azure 函数。我们需要有关您尝试执行的操作的更多详细信息。
-
我们在visual studio代码中配置了azure,通过使用azure函数,我们创建了这个项目
-
请看下面@rickvdbosch 的回答。您的代码缺少属性,这就是函数运行时找不到您的函数的原因。您能否更明确地说明您创建项目所采取的步骤?您是否使用任何 Azure Functions 模板来创建它?