Сработала очередь сервисной шины Azure Функция не работает после развертывания - PullRequest
0 голосов
/ 27 апреля 2020

У меня запущена очередь служебной шины Azure Функция, размещенная в плане потребления, которая запускается при получении сообщения и работает нормально локально, но не запускается при развертывании через Azure конвейер выпуска DevOps. Вот подробности:

Триггер функции выглядит следующим образом:

[FunctionName("FileUploadFunction")] public async static Task Run([ServiceBusTrigger("queueName", Connection = "con")] Message message, ILogger log) {

string ftpHost = Environment.GetEnvironmentVariable("FTPHost");

string ftpUserName = Environment.GetEnvironmentVariable("FTPUser");

string ftpPassword = Environment.GetEnvironmentVariable("FTPPass");

string blobConnectionString = Environment.GetEnvironmentVariable("blobConnectionString");

}

Значения «queueName» и «con» вместе с другими переменными были объявлены в local.settings. json при работе на местном. После развертывания все это отражается в Azure Функции приложения Настройки.

.csproj файл выглядит так:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
    <Platforms>AnyCPU;x64;x86</Platforms>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <PlatformTarget>AnyCPU</PlatformTarget>
  </PropertyGroup>
  <ItemGroup>

    <PackageReference Include="Azure.Storage.Blobs" Version="12.3.0" />

    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="3.0.3" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.1" />
    <PackageReference Include="Rebex.SshShell" Version="5.0.7357" />
    <PackageReference Include="SSH.NET" Version="2016.1.0" />
    <PackageReference Include="WindowsAzure.ServiceBus" Version="6.0.1" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

Функция. json в AZure портал выглядит так:

{
      "generatedBy": "Microsoft.NET.Sdk.Functions-3.0.1",
      "configurationSource": "attributes",
      "bindings": [
        {
          "type": "serviceBusTrigger",
          "connection": "con",
          "queueName": "queueName",
          "name": "message"
        }
      ],
      "disabled": false,
      "scriptFile": "../bin/devServiceFUFunction.dll",
      "entryPoint": "devServiceFUFunction.FileUploadFunction.Run"
    }

Теперь проблема в том, что функция не выполняется или не работает, когда сообщение приходит в очередь. Я что-то пропустил?

Пожалуйста, дайте мне знать, если вам нужны какие-либо другие детали, чтобы понять проблему. Обратите внимание, что все эти переменные отображаются в настройках приложения-функции на портале Azure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...