Azure StorageEmulatorをプログラムで実行する

MatterOfFact

写真の保存にAzureBlobStorageを使用しています。それはうまくいきます。ストレージに接続するために、次の場所にAzureStorageConfigを追加しましたappsettings.json

"AzureStorageConfig": {
    "AccountName": "<accountname>",
    "ImageContainer": "<containername>",
    "AccountKey": "<accountkey>"
}

さらにクラスを作成しました AzureStorageConfig

 public class AzureStorageConfig
    {
        public string AccountKey { get; set; }
        public string AccountName { get; set; }
        public string BaseUrl { get; set; }
        public Uri BlobEndpoint { get; set; }
        public string ImageContainer { get; set; }
        public Uri QueueEndpoint { get; set; }
        public Uri TableEndpoint { get; set; }
    }

Startup.csで構成しました。

services.Configure<AzureStorageConfig>(Configuration.GetSection(nameof(AzureStorageConfig)));

したがって、構成は依存性注入を介して注入できます。

以下のためにappsettings.development.json私はAzureストレージエミュレータを使用したいと思います。いくつかのチュートリアルを見つけましたが、それらはすべて、構成ではなく接続文字列を使用してエミュレーターに接続します。

Microsoftのページで見つけたデータを試してみました。

     "AzureStorageConfig": {
    "AccountName": "devstoreaccount1",
    "ImageContainer": "images",
    "AccountKey": "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==",
    "BlobEndpoint": "http://127.0.0.1:10000/devstoreaccount1",
    "TableEndpoint": "http://127.0.0.1:10002/devstoreaccount1",
    "QueueEndpoint": "http://127.0.0.1:10001/devstoreaccount1"
}

次のようにオブジェクトを初期化します。

public class AzureStorageService
    {
        private readonly CloudBlobContainer _imageContainer;
        private readonly AzureStorageConfig _storageConfig; 

public AzureStorageService(IOptions<AzureStorageConfig> config)
            {  
                _storageConfig = config.Value;
                CloudStorageAccount storageAccount;
                StorageCredentials storageCredentials = new StorageCredentials(_storageConfig.AccountName, _storageConfig.AccountKey);

                if (_storageConfig.BlobEndpoint == null)
                {
                    storageAccount = new CloudStorageAccount(storageCredentials, true);
                }
                else
                {
                    storageAccount = new CloudStorageAccount(
                        storageCredentials,
                        _storageConfig.BlobEndpoint,
                        _storageConfig.QueueEndpoint,
                        _storageConfig.TableEndpoint,
                        null);
                }

                CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
                _imageContainer = blobClient.GetContainerReference(_storageConfig.ImageContainer);
                _imageContainer.CreateIfNotExistsAsync().Wait();
            }
}

「MicrosoftAzureCompute Emulator」アプリを起動して、エミュレーターを手動で起動する必要がありました。自動テスト(およびこれらのテストを実行するAzure Devops CI)用にエミュレーターをプログラムで起動(および初期化)するにはどうすればよいですか?

どうもありがとう。

ハイサムシャダッド

アカウント名とキーを使用するのと同じ接続文字列を使用するようにコードを変更する必要がありますが、接続文字列をに変更するだけでエミュレーターを使用する方が簡単です"UseDevelopmentStorage=true;"

エミュレーターの起動に関しては、startup.csファイルのホスティング環境変数で環境を確認できます。

   public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                //Start the Emulator here by initiating a new process that calls the emulator.exe file
            }
}

もう1つの解決策は、ホストされたサービスを使用し、同じ環境チェックを実行して、でエミュレーターを起動し、でエミュレーターStartAsyncを停止することです。StopAsync

詳細については、このリンクを参照してくださいASP.NETCoreでホストされているサービスのバックグラウンドタスク

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure StorageEmulatorをサービスとして実行する

分類Dev

Azure関数:プログラムの実行を続行するにはメモリが不足しています

分類Dev

Microsoft Azure Storage Explorerが行っていることをプログラムでどのように実行しますか?

分類Dev

Azure ServiceFabricサービスをプログラムで停止する

分類Dev

Azure Blob サイズをプログラムで管理する方法

分類Dev

golangプログラムで実行中のAzure get-credentialsエラー

分類Dev

Azure Machine LearningServiceパイプラインをローカルで実行する

分類Dev

Azure App Service で deploy.cmd をプログラムで移動する方法

分類Dev

Azure DevOps Server:プログラムでWikiページを作成する

分類Dev

Azure RemoteAppでカスタムWindowsアプリケーションをアップロード/実行する方法

分類Dev

Azureインスタンスで実行されているASP.NETWebAPIプログラムでデータベースを毎分更新するにはどうすればよいですか?

分類Dev

Azureアプリサービスをプログラムで拡張することは可能ですか?

分類Dev

Azureでプログラムでメールを受信するにはどうすればよいですか?

分類Dev

更新管理をAzureリソースにプログラムでデプロイする方法

分類Dev

Azure StorageEmulatorを起動できません

分類Dev

MacのIntellij / Pycharm実行/デバッグ構成でAzure関数プロジェクトを構成する方法

分類Dev

MacのIntellij / Pycharm実行/デバッグ構成でAzure関数プロジェクトを構成する方法

分類Dev

VS 2015 SDKを追加した後、Azure StorageEmulatorが失敗する

分類Dev

Azure DataFactoryパイプラインでカスタムアクティビティを実行する

分類Dev

Azure PythonAPIでプログラムでサービスプリンシパルを作成する

分類Dev

プログラムでAzure関数の接続文字列を作成することはできますか?

分類Dev

Azureファイル共有ドキュメントをプログラムでダウンロードする

分類Dev

Azure広告アプリ-マニフェストをプログラムで更新する

分類Dev

Azure:プログラムでイベントサブスクリプションを作成する方法

分類Dev

Azure サブスクリプションとテナントをプログラムで列挙する方法は?

分類Dev

Azure FunctionでRunOnStartupをプログラムで設定しますか?

分類Dev

Azure devopsでプログラムで複数の作業項目を選択する方法は?

分類Dev

Azureストレージで静的Webサイトをプログラムで有効にする

分類Dev

プログラムでAzure関数を停止し、再開します

Related 関連記事

  1. 1

    Azure StorageEmulatorをサービスとして実行する

  2. 2

    Azure関数:プログラムの実行を続行するにはメモリが不足しています

  3. 3

    Microsoft Azure Storage Explorerが行っていることをプログラムでどのように実行しますか?

  4. 4

    Azure ServiceFabricサービスをプログラムで停止する

  5. 5

    Azure Blob サイズをプログラムで管理する方法

  6. 6

    golangプログラムで実行中のAzure get-credentialsエラー

  7. 7

    Azure Machine LearningServiceパイプラインをローカルで実行する

  8. 8

    Azure App Service で deploy.cmd をプログラムで移動する方法

  9. 9

    Azure DevOps Server:プログラムでWikiページを作成する

  10. 10

    Azure RemoteAppでカスタムWindowsアプリケーションをアップロード/実行する方法

  11. 11

    Azureインスタンスで実行されているASP.NETWebAPIプログラムでデータベースを毎分更新するにはどうすればよいですか?

  12. 12

    Azureアプリサービスをプログラムで拡張することは可能ですか?

  13. 13

    Azureでプログラムでメールを受信するにはどうすればよいですか?

  14. 14

    更新管理をAzureリソースにプログラムでデプロイする方法

  15. 15

    Azure StorageEmulatorを起動できません

  16. 16

    MacのIntellij / Pycharm実行/デバッグ構成でAzure関数プロジェクトを構成する方法

  17. 17

    MacのIntellij / Pycharm実行/デバッグ構成でAzure関数プロジェクトを構成する方法

  18. 18

    VS 2015 SDKを追加した後、Azure StorageEmulatorが失敗する

  19. 19

    Azure DataFactoryパイプラインでカスタムアクティビティを実行する

  20. 20

    Azure PythonAPIでプログラムでサービスプリンシパルを作成する

  21. 21

    プログラムでAzure関数の接続文字列を作成することはできますか?

  22. 22

    Azureファイル共有ドキュメントをプログラムでダウンロードする

  23. 23

    Azure広告アプリ-マニフェストをプログラムで更新する

  24. 24

    Azure:プログラムでイベントサブスクリプションを作成する方法

  25. 25

    Azure サブスクリプションとテナントをプログラムで列挙する方法は?

  26. 26

    Azure FunctionでRunOnStartupをプログラムで設定しますか?

  27. 27

    Azure devopsでプログラムで複数の作業項目を選択する方法は?

  28. 28

    Azureストレージで静的Webサイトをプログラムで有効にする

  29. 29

    プログラムでAzure関数を停止し、再開します

ホットタグ

アーカイブ