in SamplesV1/AzureAnalysisServicesProcessSample/ProcessAzureASActivity.cs [159:202]
private ProcessAzureASContext CreateContext(IEnumerable<LinkedService> linkedServices, IEnumerable<Dataset> datasets, Activity activity, IActivityLogger logger)
{
//Get Azure Storage Linked Service Connection String from the dummy output dataset,
//AS processing does not produce output dataset, so we use this to access the TMSL script for AS processing
AzureStorageLinkedService outputLinkedService;
Dataset outputDataset = datasets.Single(dataset => dataset.Name == activity.Outputs.Single().Name);
AzureBlobDataset outputTypeProperties;
outputTypeProperties = outputDataset.Properties.TypeProperties as AzureBlobDataset;
// get the Azure Storate linked service from linkedServices object
outputLinkedService = linkedServices.First(
linkedService =>
linkedService.Name ==
outputDataset.Properties.LinkedServiceName).Properties.TypeProperties
as AzureStorageLinkedService;
// get the connection string in the linked service
string blobconnectionString = outputLinkedService.ConnectionString;
DotNetActivity dotNetActivity = (DotNetActivity)activity.TypeProperties;
var tabularDatabaseName = dotNetActivity.ExtendedProperties[TABULAR_DATABASE_NAME_PARAMETER_NAME];
var aasConnectionString = dotNetActivity.ExtendedProperties[AZUREAS_CONNECTION_STRING_PARAMETER_NAME];
var advASProcessingScriptPath="";
if (dotNetActivity.ExtendedProperties.ContainsKey(ADV_AS_PROCESS_SCRIPT_PATH_PARAMETER_NAME))
{
advASProcessingScriptPath = dotNetActivity.ExtendedProperties[ADV_AS_PROCESS_SCRIPT_PATH_PARAMETER_NAME];
}
if (dotNetActivity.ExtendedProperties.ContainsKey(AZUREAD_AUTHORITY_PARAMETER_NAME))
{
aasConnectionString = GetAzureADToken(blobconnectionString, dotNetActivity, aasConnectionString);
}
return new ProcessAzureASContext
{
TabularDatabaseName = tabularDatabaseName,
AzureASConnectionString = aasConnectionString,
AdvancedASProcessingScriptPath= advASProcessingScriptPath,
BlobStorageConnectionString= blobconnectionString
};
}