blob을 컨테이너에 복사 할 때 트리거되는 Azure 함수가 있습니다. 이 함수는 blob을 성공적으로 하위 폴더에 복사하여 처리하지만 파이프 라인 일정을 변경하여 파이프 라인이 실행되도록합니다. 그러나 코드에서 파이프 라인 일정을 변경하려고하면 다음 오류가 발생합니다.파이프 라인을 업데이트 할 때 Azure 함수에서 dll 오류가 누락되었습니다.
파일 또는 어셈블리 'Microsoft.Threading.Tasks, Version = 1.0.12.0, Culture = neutral ...을로드 할 수 없습니다. 또는 종속성 중 하나가 될 수 있습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
나는 사용되지 않는 패키지를 제거하고 최신 버전을 사용하고 있는지 확인하기 위해 nuget 패키지 목록을 검토했습니다. 나는 또한 내 csx 파일에서 불필요한 사용에 대해 언급했지만 아직 오류가 발생합니다. 파이프 라인 업데이트 호출을 주석 처리하면 오류가 사라지고 함수가 끝까지 실행됩니다. 에,
{
"frameworks": {
"net46": {
"dependencies": {
////"Hyak.Common": "1.1.0",
"Microsoft.Azure.Common": "2.1.0",
"Microsoft.Azure.Common.Dependencies": "1.0.0",
"Microsoft.Azure.Management.DataFactories": "4.11.0",
////"Microsoft.Bcl": "1.1.10",
////"Microsoft.Bcl.Async": "1.0.168",
////"Microsoft.Bcl.Build": "1.0.21",
"Microsoft.IdentityModel.Clients.ActiveDirectory": "3.13.8"
////"Microsoft.Net.Http": "2.2.29"
}
}
}
}
마지막 :
내 project.json 파일 (내가 이전에 시도했다 다른 패키지를 보여주기 위해 패키지를 주석으로 포함 시켰하지 않는 것이) 다음과 같습니다
#r "System.Runtime"
#r "System.Threading.Tasks"
#r "Microsoft.WindowsAzure.Storage"
using System;
using System.Net;
using System.Threading.Tasks;
using System.Configuration;
//using Newtonsoft.Json;
using Microsoft.Azure;
//using Microsoft.Azure.Common;
using Microsoft.Azure.Management.DataFactories;
using Microsoft.Azure.Management.DataFactories.Models;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
파이프 라인을 업데이트하는 코드는 다음과 같습니다
client.Pipelines.CreateOrUpdate(resourceGroupName, dataFactoryName, new PipelineCreateOrUpdateParameters()
{
Pipeline = pl.Pipeline
});
log.Info($"Pipeline rescheduled for {slice}");
나는 파이프 라인 업데이트 작업 (Microsoft.Threading.Tasks 등 여러 참조를 포함) 콘솔 응용 프로그램/웹 응용 프로그램으로 이것을 실행하는 경우 정확하게하지만 Azure 함수에서 동일한 코드가 작동하지 않습니다.
누드 패키지/버전 또는 누락 된 참조가 누구인지 아는 사람 있습니까?
스티븐, 나는이 문제를 조사하기 위해 생식에 일 것이다. GitHub 레포에서 공유 할 수있는 간단한 레트로가 있다면 도움이 될 것입니다. –
안녕하세요 Fabio, 다음 저장소를 만들었습니다 @ [link] (https://github.com/StevenEnticknap/AzureFunction). 당신의 도움을 주셔서 감사합니다 –