備忘録

備忘録

C#でCloudflare R2を利用する方法

Ⅰ. はじめに

タイトルの通り「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);

実行結果

ファイルがアップロードされた