.Net Core 中的 AmazonS3Client 构造函数在 NETWORK_SERVICE 下 运行 时抛出(服务结构)
AmazonS3Client constructor in .Net Core throws when running under NETWORK_SERVICE (service fabric)
我需要使用 service fabric 集群中的 dotnet-core 服务将一些数据上传到 S3 存储(运行ning 为 NETWORK_SERVICE)。
在这种情况下,我无法构建 AmazonS3Client。
var s3 = new AmazonS3Client(awsAccountKey, awsSecret, RegionEndpoint.EUCentral1);
投掷:
System.TypeInitializationException: 'The type initializer for 'Amazon.Runtime.Internal.DeterminedCSMConfiguration' threw an exception.'
Inner exception:
UnauthorizedAccessException: Access to the path 'C:\WINDOWS\system32\config\systemprofile' is denied.
我正在使用 nugets:
- AWSSDK.S3 版本="3.3.24.3"
- AWSSDK.Core 版本="3.3.27"
代码运行OK:
- 在dotnet framework 4.6.2 (net462)下(在同一个service fabric集群中)
- 在 dotnet 核心下,但 运行 在普通用户下(不在服务结构中)
问题:
- 可以在 dotnet core 中使用 AWS SDK nugets 吗?
- 构造函数在 C:\WINDOWS\system32\config\systemprofile 文件夹中寻找什么?我提供了帐户密钥和密码,这还不够吗?
- 是否缺少某些设置来解决此问题?
AWS SDK 是一个点网标准包,应该可以在 Full Framework 或 DotNet Core 上正常运行,您可以确认当您 运行 应用程序在您的计算机上运行时。
C:\WINDOWS\system32\config\systemprofile
是用来存放系统配置信息的文件夹,类似于C:\users\username\
、
等fodlers
我假设它正在尝试 加载或保存 那里的东西,因为它是 运行 作为网络服务并且失败了,我会尝试:
- 运行顺丰本地用户服务,而不是网络服务
- 检查是否所有文件都被正确复制
- 改用接收显式
AmazonS3Config
的 AmazonS3Client
- 检查服务器是否安装了DotNet core,里面的版本是否和你使用的兼容
看起来这是 AWSSDK.Core 中的错误:https://github.com/aws/aws-sdk-net/issues/1097
我需要使用 service fabric 集群中的 dotnet-core 服务将一些数据上传到 S3 存储(运行ning 为 NETWORK_SERVICE)。
在这种情况下,我无法构建 AmazonS3Client。
var s3 = new AmazonS3Client(awsAccountKey, awsSecret, RegionEndpoint.EUCentral1);
投掷:
System.TypeInitializationException: 'The type initializer for 'Amazon.Runtime.Internal.DeterminedCSMConfiguration' threw an exception.'
Inner exception:
UnauthorizedAccessException: Access to the path 'C:\WINDOWS\system32\config\systemprofile' is denied.
我正在使用 nugets:
- AWSSDK.S3 版本="3.3.24.3"
- AWSSDK.Core 版本="3.3.27"
代码运行OK:
- 在dotnet framework 4.6.2 (net462)下(在同一个service fabric集群中)
- 在 dotnet 核心下,但 运行 在普通用户下(不在服务结构中)
问题:
- 可以在 dotnet core 中使用 AWS SDK nugets 吗?
- 构造函数在 C:\WINDOWS\system32\config\systemprofile 文件夹中寻找什么?我提供了帐户密钥和密码,这还不够吗?
- 是否缺少某些设置来解决此问题?
AWS SDK 是一个点网标准包,应该可以在 Full Framework 或 DotNet Core 上正常运行,您可以确认当您 运行 应用程序在您的计算机上运行时。
C:\WINDOWS\system32\config\systemprofile
是用来存放系统配置信息的文件夹,类似于C:\users\username\
、
我假设它正在尝试 加载或保存 那里的东西,因为它是 运行 作为网络服务并且失败了,我会尝试:
- 运行顺丰本地用户服务,而不是网络服务
- 检查是否所有文件都被正确复制
- 改用接收显式
AmazonS3Config
的AmazonS3Client
- 检查服务器是否安装了DotNet core,里面的版本是否和你使用的兼容
看起来这是 AWSSDK.Core 中的错误:https://github.com/aws/aws-sdk-net/issues/1097