【解決方法】C# を使用して Azure BLOB トリガーを使用して、Azure BLOB からオンプレミスのファイル システムにファイルをコピーするにはどうすればよいですか?

プログラミングQA


Azure BLOB にアップロードされたファイルをオンプレミスのファイル システムにコピーするための Azure BLOB トリガーを作成しようとしています。 誰かが同じ手順を提供してもらえますか?

私が試したこと:

BLOB トリガーを作成し、その出力パラメーターを外部ファイル (プレビュー) にバインドし、ファイル システム API を選択しました。 表示名、ルートフォルダー、ユーザー名、パスワードを要求されます。 ここでは何が行われるのでしょうか?また、Azure をマシンのファイル システムに接続するにはどうすればよいですか?

This is my function.json file.

{
  "bindings": [
    {
      "name": "myBlob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "input/{name}",
      "connection": "connection_Name"
    },
    {
      "type": "apiHubFile",
      "name": "outputFile",
      "path": "outout/{name}",
      "connection": "file_system_connection_name",
      "direction": "out",
      "typeProperties": {
        "host": "HostName",
        "userid": "userid",
        "password": "userpassword",
        "gatewayName": "gatewayName"
      }
    }
  ],
  "disabled": false
}


This is my  run.csx  file.
public static void Run(Stream myBlob, string name, TraceWriter log,Stream outputFile)
{
        myBlob.CopyTo(outputFile);
}

解決策 1

この検索: Azure Blob Storage からファイルをダウンロードする – Google[^] この答えが見つかりました: Azure Storage からのファイルのアップロードとダウンロード – WebApps[^] – スクリーンショットとサンプル ソース コードを含む完全なプロセスのステップバイステップ ガイド!

アップデート: BLOB トリガー… この検索: Azure BLOB トリガー関数の作成方法 – Google 検索[^] このステップバイステップガイドを見つけました。 BLOB ストレージによってトリガーされる Azure での関数の作成 | Microsoft ドキュメント[^]

Google検索を使ったリサーチが鍵! やってみてください、それは難しくありません…

解決策 2

ShareGate または Gs Richcopy 360 を直接使用して、Azure BLOB からオンプレミス、またはオンプレミスから Azure BLOB にファイルを送信できますが、一方で、C# を使用して次の手順を実行することもできます。
– Visual Studio で Azure Function App プロジェクトを作成します。
– Azure Blob トリガーを使用して、新しい関数をプロジェクトに追加します。
– Azure.Storage.Blobs NuGet パッケージをプロジェクトにインストールします。
-次のコードを関数に追加します。

C#
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Azure.Storage.Blobs;

public static void Run(
    [BlobTrigger("container-name/{name}", Connection = "AzureWebJobsStorage")] BlobClient blobClient,
    string name, ILogger log)
{
    log.LogInformation($"C# Blob trigger function processed blob\n Name:{name} \n URI:{blobClient.Uri}");

    // Replace the file path with the path to the on-premise file system
    string filePath = @"C:\path\to\destination\file";

    // Download the blob to the file system
    blobClient.DownloadTo(filePath);
}

– BlobTrigger 属性の “container-name” プレースホルダーを、監視する Azure Blob Storage コンテナーの名前に置き換えます。
– filePath 変数のファイル パスを、オンプレミス ファイル システム上の宛先ファイルへのパスに置き換えます。
-関数アプリを Azure にデプロイし、関数アプリの[アプリケーション設定]セクションで AzureWebJobsStorage の接続文字列を構成します。

指定されたコンテナーに新しい BLOB が追加されると、Azure Blob トリガーが関数を起動し、オンプレミス ファイル システム上の指定されたファイル パスに BLOB をダウンロードします。

コメント

タイトルとURLをコピーしました