0

私はAzure AppサービスとAzureストレージアカウントを持っています。私はアプリケーションサービスの背後にサーバー/ VMがあることを知っていますが、明示的にマシンを起動していません。Azure Appサービス(VMではなく)からAzureストレージファイル共有にドライブレターを割り当てることができます

アクセスデータベースからデータをインポートしようとしていますが、これは定期的にストレージアカウントのファイル共有にアップロードされます。私はAzure WebJobを使ってバックグラウンドで作業をしたいと思っています。

私は、データを読み取るためにDAOを使用しようとしている:

string path = @"\\server\share\folder\datbase.mdb"; 
DBEngine dbe = new DBEngine(); 
Database db = dbe.OpenDatabase(path); 
DAO.Recordset rs = db.OpenRecordset("select * from ..."); 

私はローカルで実行するときに動作しますが、私は私のストレージアカウントでファイル共有にアクセスして自分のWebの仕事でそれを実行しようとすると、ファイルを見つけることができません。これは、DBEngineがAzureとAzureのアカウント名とセキュリティキーを知らず、送信しないため、Azure Storageが応答しないためです。

私が試したいのは、Azure Storage Fileshareを私のApp Serviceの基礎となるサーバーにマップできるかどうかを確認することです。私はいろいろなことを試しましたが、毎回 "Access Denied"のバリエーションを受けました。私が試してみました:

  • をネット使用のT実行:\ name.file.core.windows.net \ azurefileshare /Uを:から ネット利用を実行Azureのポータルにおけるアプリケーション・サービス・コンソールから名前キー
  • サーバがタイトなロックダウンされているように私のwebjob内

からでWNetAddConnection2 起動私のwebjob

  • 内のプロセスが見えます。どのようにファイル共有を基礎となるサーバーにマップすることができるかもしれないかについて誰かが考えていますか?

    感謝

  • 答えて

    0

    私が知っているように、Azureのウェブアプリはsandboxで実行されます。 Azureファイル共有をAzure Webアプリケーションにマップすることはできませんでした。 AzureのWebアプリケーションを選択すると、Azureのファイルストレージが適切な場所になります。私の経験から、以下の回避策があります。これがあなたにいくつかのヒントを与えることを望みます。

    1)Azureファイルストレージを使用しますが、ホストサービスとしてAzure VMまたはCloudサービスを選択します。

    2)ホストサービスとしてAzure web appを選択しますが、ソリューションにアクセスデータベースを含め、Azure Webアプリケーションにアップロードします。

    3)データベースとしてSQL Azureを選択します。アクセスデータベースをSQL Azureに移行するのに役立つthe articleがあります。

    +0

    こんにちはJambor、あなたの提案に感謝します。1)はオプションですが、私はAppサービスに加えてVMを持つことを回避する方法があるかどうかを確認しようとしています。再度、感謝します。 – Beau

    0

    最終的に、Jambor氏の言うとおり、App Service VMは厳重にロックされています。

    しかし、App Service VMには、VM上で実行されているさまざまなコンポーネントを使用するためのローカルの一時ストレージが付属していることがわかりました。

    これはD:\ local \ Temp \にあり、Webジョブによって書き込むことができます。

    興味深いことに、これはD:\ localとは異なる共有/ドライブ上の論理フォルダであり、この追加ストレージのサイズはAppサービスの規模に依存します。

    関連する問題