Ⅰ. はじめに
タイトルの通り「C#でCloudflare R2を利用する方法」です。
Ⅱ. 手順
1. Cloudflare R2のWebページでバケットを新規作成する
2. 必要なパッケージをインストールする
※Cloudflare R2とAWS S3はAPIに互換性があるのでAWSSDK.S3を利用します
dotnet add package AWSSDK.S3 --version 3.7.9.58
3. サンプルプログラムを書く(ファイルアップロード)
using Amazon; using Amazon.S3; using Amazon.S3.Model; var accountId = "aaaaaaaa"; var accessKey = "bbbbbbbb"; var secretKey = "cccccccc"; var bucketName = "test"; var key = "directory/test.jpg"; var filePath = "test.jpg"; var s3Config = new AmazonS3Config() { ServiceURL = $"https://{accountId}.r2.cloudflarestorage.com" }; using var client = new AmazonS3Client(accessKey, secretKey, s3Config); var request = new PutObjectRequest { BucketName = bucketName, Key = key, FilePath = filePath, // InputStream = stream, DisablePayloadSigning = true }; await client.PutObjectAsync(request).ConfigureAwait(false);
実行結果
ファイルがアップロードされた