gpt4 book ai didi

c# - S3 by Scaleway 通过 Amazon.S3 nuget 包

转载 作者:行者123 更新时间:2023-12-03 08:54:06 25 4
gpt4 key购买 nike

我想使用 Amazon.S3 nuget 包来使用 Scaleway 对象存储(S3 标准)( https://www.scaleway.com/en/object-storage/ )。

但我收到此错误:“'授权 header 格式错误;区域 'us-east-1' 错误;需要 'fr-par'”

我需要更改我的区域,但是如何更改?谢谢

    public static async Task UploadFile(FileStream file, string bucket = "default")
{
var config = new AmazonS3Config { ServiceURL = endPoint };
using (var client = new AmazonS3Client(keyId, secretAccessKey, config))
{

using (var newMemoryStream = new MemoryStream())
{
var uploadRequest = new TransferUtilityUploadRequest
{
InputStream = file,
Key = file.Name,
BucketName = bucket,
CannedACL = S3CannedACL.PublicRead
};

var fileTransferUtility = new TransferUtility(client);
await fileTransferUtility.UploadAsync(uploadRequest);
}
}
}

最佳答案

这里是存储团队成员@Scaleway。

感谢您使用我们的服务,

不幸的是,C# 中的 AWS s3 SDK 不允许您自定义请求区域和终端节点,只有一个是可能的。

目前,我们建议您暂时使用 MinIO SDK(请参阅此处:https://github.com/minio/minio-dotnet)

尽管如此,

我们了解这种情况,并正在寻找解决方案。

示例

首先安装sdk

dotnet add package Minio --version 3.1.4

然后是代码

using System;
using System.IO;
using Minio;
using Minio.Exceptions;
using Minio.DataModel;
using System.Threading.Tasks;

namespace FileUploader
{
class FileUpload
{
static void Main(string[] args)
{
try
{
var minio = new MinioClient(
"s3.fr-par.scw.cloud",
"SCWXXXXXXXXXXX",
"xxxxx-xxxx-xxx-xxxxx-xxxx",
"fr-par"
).WithSSL();

string [] fileEntries = Directory.GetFiles("/app");
foreach(string fileName in fileEntries) {
FileUpload.Run(minio, fileName).Wait();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

// File uploader task.
private async static Task Run(MinioClient minio, string file)
{
try
{
await minio.PutObjectAsync("my-bucket", Path.GetFileName(file), file, "");
Console.WriteLine("Successfully uploaded " + file );
}
catch (MinioException e)
{
Console.WriteLine("File Upload Error: {0}", e.Message);
}
}
}
}

关于c# - S3 by Scaleway 通过 Amazon.S3 nuget 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56889602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com