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