我正在使用AWSSDK for .net与我的亚马逊s3帐户桶进行交互。 现在我发现 tntDrive 将该存储桶挂载为本地驱动器以与相同的s3存储桶进行交互。 告诉我与Amazon S3存储桶交互的最佳方式。
答案 0 :(得分:4)
Amazon S3是一个对象存储,而不是文件系统。不建议将Amazon S3存储桶安装为驱动器或文件系统。
例如,在普通磁盘文件系统上,可以修改文件中的单个字节。但是,在修改S3对象中的单个字节时,必须将整个对象重新发送到S3。
在文件系统上安装S3存储桶的实用程序(例如s3fs,tntdrive,Cloudberry Drive)正在模拟文件系统,并且必须在后台进行大量工作才能保留兼容。它可能会起作用,它可能会使事情变得更简单,但它也会增加额外的复杂性,从而导致系统出现问题。 如果您打算运行高度可靠的生产系统,建议不要使用此类实用程序 - 但您可以选择。
AWS SDK for .NET提供了许多访问Amazon S3的功能,如果出现故障,可以完全控制安全性和详细的错误代码。使用已安装的驱动器的安全性较低(在安装驱动器时定义,而不是每次调用S3时),如果发生故障,则不会返回特定于S3的错误消息。
您可能会考虑的中间选项是AWS Command-Line Interface (CLI)(适用于Windows,Mac,Linux)。它提供了与AWS交互的命令行界面。一个非常有用的功能是aws s3 sync
命令,它可以在本地目录和S3之间同步文件。