0

Azure App Service と Azure ストレージ アカウントを持っています。アプリ サービスの背後にサーバー/VM があることはわかっていますが、マシンを明示的に起動していません。

ストレージ アカウントのファイル共有に定期的にアップロードされるアクセス データベースからデータをインポートしようとしています。バックグラウンドで作業を行うために 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 の基盤となるサーバーにマップできるかどうかを確認することです。さまざまなことを試しましたが、毎回「アクセスが拒否されました」というさまざまなメッセージが表示されます。私が試してみました:

  • Azure Portal の App Service コンソールから net use T: \name.file.core.windows.net\azurefileshare /u:name キーを実行します。
  • Web ジョブ内のプロセスから net use を実行する
  • Web ジョブ内から WNetAddConnection2 を呼び出す

サーバーが厳重にロックダウンされているようです。ファイル共有を基盤となるサーバーにマップする方法について、誰かアイデアはありますか?

どうもありがとう

4

2 に答える 2

0

私が知っているように、Azure Web アプリはサンドボックスで実行されます。Azure ファイル共有を Azure Web アプリにマップできませんでした。そのため、Azure Web アプリを選択する場合は、Azure ファイル ストレージが適しています。私の経験から、以下の回避策があります。これがあなたにいくつかのヒントを与えることを願っています。

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

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

3) 代わりに SQL Azure をデータベースとして選択します。アクセス データベースを SQL Azure に移行するのに役立つ記事を次に示します。

于 2016-12-09T06:50:51.100 に答える