Доступ AWS MobileAnalyticsManager к папке "Мобильные сервисы AWS \M4SP" запрещен
Я пытаюсь добавить библиотеку AWSSDK в мой код C#, чтобы собрать данные о событиях и передать их в корзину AWS. Мой код C# создается с помощью шаблона VS Share point. Проект содержит файлы WSP. Следующий код показывает, как я использую AWSSDK:
using Amazon;
using Amazon.CognitoIdentity;
using Amazon.MobileAnalytics.MobileAnalyticsManager;
CognitoAWSCredentials credentials = new CognitoAWSCredentials(
"us-east-1:xxxxxx",//PoolID
RegionEndpoint.USEast1
);
Amazon.AWSConfigs.ApplicationName = "M4SP";
AWSConfigs.LoggingConfig.LogMetrics = true;
AWSConfigs.LoggingConfig.LogResponses = ResponseLoggingOption.Always;
AWSConfigs.LoggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON;
MobileAnalyticsManager manager = MobileAnalyticsManager.GetOrCreateInstance(
"xxxxxxxxxxxxxxxxxxx",//AppID
credentials,
RegionEndpoint.USEast1 // Region
);
CustomEvent customEvent = new CustomEvent("TestRecordEvent");
customEvent.AddAttribute("label", "M4SP");
customEvent.AddAttribute("action", "invoke");
customEvent.AddAttribute("details", "run the workflow test");
manager.RecordEvent(customEvent);
Я обнаружил, что код внутри AWSSDK DLL пытается записать данные в локальную папку перед передачей их в базу данных AWS. Расположение папки C:\Users\[userid]\AppData\Roaming\AWS Mobile Services
, В автономном проекте нет проблем, поскольку он всегда использует идентификатор текущего пользователя для запуска приложения, поэтому у него есть доступ к папке. Но из-за механизма аутентификации решений SharePoint он использует идентификатор пула приложений для доступа к папке, получает проблему с отказом в доступе и весь процесс завершается неудачно. Вот ошибка:
"Access to the path 'AWS Mobile Services\M4SP' is denied."
Я изменил право доступа к идентификатору пула приложений для общей точки (в моем случае это учетная запись "сетевой службы"), но он по-прежнему не может получить доступ к папке.
У кого-нибудь есть решение этой проблемы? Большое спасибо за помощь!