.NET CoreのWebページからBlob Storage上にファイルを作成する
C#を使って、AzureのBlob Storage上にファイルを作ります。
1. Blob Storageの作成
Azureにサインインして、Blob Storageを作成します。
あまりお金は使いたくないので、なるべく安いプランを使用します。
(1) Azureにサインインして、「ストレージアカウント」を選択
(2) 以下のような感じに設定します。レプリケーションを「LRS」に変更。
※ ホットよりクールのほうが安いけど、微々たる差に見えたのでホットのままにしました。
(3) その他はデフォルトのままで作成。
これでBlob Storageは完成です。
2. コンテナーの作成
作成したBlob Storage上にコンテナーを作成します。
(1) 作成したBlob Storageを選択
(2) メニューから「コンテナー」を選択
(3) 画面上部のメニューにある「+ コンテナー」を選択
(4) テキトーに名前を決めます。アクセスレベルはデフォルトにしておきます。
(5) 「作成」を選択
これでコンテナーが完成します。
3. 接続文字列の取得
Webからコンテナーにファイルを作成するために、接続文字列を取得しておきます。
(1) 作成したBlob Storageを選択
(2) メニューの「設定」にある「アクセスキー」を選択
(3) key1とkey2の二つがあるので、片方の「接続文字列」を控えておきます。
4. C#のコード
Blob Storageにファイルを作成するためのコードを打ちます。
public class AzureBlobService
{
private readonly CloudStorageAccount _account;
private readonly AppSettings _appSettings;
public AzureBlobService(AppSettings appSettings)
{
_appSettings = appSettings;
// 設定ファイルから接続文字列を取得
var connectionString = appSettings.AzureStorageConfig.AZURE_STORAGE_CONNECTION_STRING;
// ストレージアカウントのオブジェクトを作成
_account = CloudStorageAccount.Parse(connectionString);
}
public async Task CreateBlobAsync(string blobName)
{
// Blobクライアントを作成
var client = _account.CreateCloudBlobClient();
// Blobコンテナの参照を取得
var container = client.GetContainerReference(_appSettings.AzureStorageConfig.ContainerName);
// Blobコンテナが存在していなかったら作成
await container.CreateIfNotExistsAsync();
// Blobの追加
{
// 引数に指定されたファイル名で作成する
var blob = container.GetBlockBlobReference(blobName + ".txt");
// 引数に指定した内容がファイルに書き込まれる
await blob.UploadTextAsync("file content");
}
}
}
このメソッドを実行したところ、ちゃんとコンテナーにファイルが作成されたことが確認できました。
次は、このファイルの内容をAzureのリソーステンプレートの内容にするのが目標ですね・・・
(Webからいろいろ入力して、リソーステンプレートを作りたい)
Author And Source
この問題について(.NET CoreのWebページからBlob Storage上にファイルを作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/piyo8810/items/3427aafb01feb895d489著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .