Golang を使用して Web アプリケーション用のクラウド ストレージを実装する方法

PHPz
リリース: 2023-06-24 11:12:30
オリジナル
937 人が閲覧しました

クラウド ストレージは、最新の Web アプリケーションに不可欠な部分です。これにより、ハードウェアの障害やストレージ容量の問題を心配することなく、大量のデータを簡単に保存してアクセスできるようになります。この記事では、Amazon S3 や MinIO の使用など、Golang を使用して Web アプリケーション用のクラウド ストレージを実装する方法を検討します。

Amazon S3 の使用

Amazon S3 は、オブジェクト ストレージをサポートする Amazon クラウド サービスです。これは、データが単一のオブジェクトとして保存され、一意の識別子を使用してアクセスされる保存パターンです。 Amazon S3 は拡張性、信頼性、安全性に優れており、Web アプリケーションに関連するほとんどのストレージ ニーズに対応できます。

ステップ 1: AWS SDK for Go をインストールする

AWS SDK for Go は、アマゾン ウェブ サービスを操作するための Go 言語インターフェイスです。 Amazon S3 ストレージを使用するには、次のように AWS SDK for Go をコンピュータにインストールする必要があります:

go get -u github.com/aws/aws-sdk-go
ログイン後にコピー

ステップ 2: Amazon S3 バケットを作成する

Amazon S3 ストレージを使用する前に、Aバケットを作成する必要があります。バケットは、Amazon S3 コンソール、AWS SDK for Go、または AWS コマンドラインインターフェイス (CLI) を通じて作成できます。この例では、AWS SDK for Go を使用してバケットを作成します。

s3Client := s3.New(session.New(), &aws.Config{
    Region:aws.String(region),
})
s3Client.CreateBucket(&s3.CreateBucketInput{
    Bucket:aws.String(bucketName),
})
ログイン後にコピー

変数 region はバケットの AWS リージョンを格納し、変数 bucketName はバケットのリージョンを表します。作成するバケットの名前。

ステップ 3: Amazon S3 バケットにファイルをアップロードする

バケットを作成したので、AWS SDK for Go を使用してファイルをバケットにアップロードできます:

file, err := os.Open("example.txt")
if err != nil {
    panic(err)
}
defer file.Close()

s3Client.PutObject(&s3.PutObjectInput{
    Bucket:aws.String(bucketName),
    Key:aws.String("example.txt"),
    Body:file,
})
ログイン後にコピー

この例では、ファイル「example.txt」がローカルコンピューターから Amazon S3 バケットにアップロードされます。関数 PutObject はオブジェクトをバケットにアップロードするために使用されます。対応するパラメーター Bucket はアップロード先のバケットの名前を指定し、Key は保存された名前ですオブジェクト名 Body がアップロードされるファイルです。

ステップ 4: Amazon S3 バケットからファイルをダウンロードする

AWS SDK for Go を介してバケットからファイルをダウンロードできます:

file, err := os.Create("example.txt")
if err != nil {
    panic(err)
}
defer file.Close()

s3Client.GetObject(&s3.GetObjectInput{
    Bucket:aws.String(bucketName),
    Key:aws.String("example.txt"),
}).WriteTo(file)
ログイン後にコピー

この例では、次のコードを追加しますファイル「example.txt」がバケットからローカル コンピューターにダウンロードされます。関数 GetObject は、Bucket に格納されているオブジェクトを取得するために使用されます。対応するパラメーター Bucket は取得するバケットの名前を指定し、Key が保存されますオブジェクト名は最終的にローカル ファイルに書き込まれます。

MinIO の使用

MinIO は、Amazon S3 API をサポートするオープンソースのオブジェクト ストレージ サービスです。これは、機械学習、分析、バックアップのための大規模なデータ セットを扱うのに適した、スケーラブルで高性能な分散型クラウド ストレージ サービスです。

ステップ 1: MinIO SDK for Go をインストールする

Amazon S3 ストレージと同様に、MinIO ストレージを使用するには、コンピューターに MinIO SDK for Go をインストールする必要があります:

go get -u github.com/minio/minio-go/v7
ログイン後にコピー

Steps 2: MinIO サーバーに接続します

MinIO を使用する前に、MinIO サーバーに接続する必要があります:

minioClient, err := minio.New("play.min.io", "ACCESS_KEY", "SECRET_KEY", true)
if err != nil {
    panic(err)
}
ログイン後にコピー

ここで、ACCESS_KEYSECRET_KEY は次のとおりです。 MinIO サーバーに設定された資格情報。

ステップ 3: MinIO バケットを作成する

MinIO バケットの作成は、Amazon S3 バケットの作成と似ています:

err = minioClient.MakeBucket(context.Background(), "my-bucket", minio.MakeBucketOptions{})
if err != nil {
    panic(err)
}
ログイン後にコピー

この例では、バケットという名前のファイルを作成します。 「マイバケツ」の。

ステップ 4: MinIO バケットにファイルをアップロードする

MinIO バケットにファイルをアップロードすることは、Amazon S3 バケットにファイルをアップロードすることと似ています。たとえば、ファイル「example.txt」は「my-bucket」という名前のバケットにアップロードされます。

ステップ 5: MinIO バケットからファイルをダウンロードする

MinIO バケットからファイルをダウンロードすることは、Amazon S3 バケットからファイルをダウンロードすることと似ています。たとえば、ファイル「example.txt」を「my-bucket」という名前のバケットからローカル コンピューターにダウンロードします。

結論

Golang を使用して Web アプリケーションにクラウド ストレージを実装するのは、通常、比較的簡単なタスクです。 AWS SDK for Go と MinIO SDK for Go はどちらも、オブジェクト ストレージ サービスを操作するための API を提供しており、開発者はファイルを簡単にアップロード、ダウンロード、アクセスできます。どのストレージ サービスを使用する場合でも、その API をよく理解し、それをアプリケーションに統合してデータを簡単に管理する必要があります。

以上がGolang を使用して Web アプリケーション用のクラウド ストレージを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート