Leitura do arquivo de repositório do Azure Data Lake usando o componente de script SSIS
Aprecie suas sugestões.
Meu requisito é Ler o arquivo json do ADLS usando o SSIS e carregar na tabela SQL
Implementação: implementei o código para ler o conteúdo do arquivo json no aplicativo .Net Console. Isso está funcionando bem no aplicativo Console. Copiei o mesmo código no componente de script SSIS, mas ele lança a exceção "O inicializador de tipo para 'Microsoft.Azure.DataLake.Store.AdlsClient' lançou uma exceção" emAdlsClient.CreateClient.
using Microsoft.Rest;
using Microsoft.Rest.Azure.Authentication;
using Microsoft.Azure.Management.DataLake.Store;
using Microsoft.Azure.DataLake.Store;
using Microsoft.Azure.DataLake.Store.AclTools;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
JObject results = new JObject();
string applicationId = "<appid>;
string secretKey = <secretekey>;
string tenantId = <tenantid>;
string adlsAccountName = "<ADLSNAME>.azuredatalakestore.net";
ServiceClientCredentials creds = ApplicationTokenProvider.LoginSilentAsync(tenantId, applicationId, secretKey).Result;
AdlsClient adlsClient = AdlsClient.CreateClient(adlsAccountName, creds);
string srcPath = @"/InputFiles/1636274001230002_20180621_104427.json";
using (StreamReader readStream = new
StreamReader(adlsClient.GetReadStream(srcPath)))
{
var p2Object = JsonConvert.DeserializeObject(readStream.ReadToEnd());
results = JObject.Parse(p2Object.ToString());
}
date = ((string)results["eeData"][0]["startDate"]);
machine = ((string)results["eeData"][0]["machineName"]);
ppl = ((string)results["eeData"][0]["ppl"]);