問題タブ [azure-blob-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Azure-BLOBコンテナーでのリスト操作の並べ替え順序
BLOBコンテナーでのリスト操作の並べ替え順序は何ですか?アルファベット順のAzureTableStorageのようなものですか?
c# - Azure BLOB ストレージのクエリ速度の向上
現在、同じ Azure コンテナーの下に数千のファイルを含むブロブ ストレージがあります。私たちのファイル命名規則は次のようなものです:
ストレージ名\チーム\サブチーム\ファイル名
特定の各サブチームのファイルを表示するツールを作成しています。このコードは、コンテナーの BLOB のリストを取得し、それぞれを正しい Team\Subteam に一致させようとします (サンプル コードについては、以下を参照してください)。
これは機能しますが、非常に遅くなります (すべてのファイルを調べて、特定のサブチームと一致するかどうかを確認する必要があるため)。クエリの速度を改善する方法はありますか? 「探しているチームに一致する最初のファイルを見つけて、別のチームが見つかったら追跡して早期に終了する」などの最適化を考えることができますが、それは BlobList がソートされており、修正されないことを前提としています最悪のシナリオ。
残念ながら、ファイルを異なるコンテナーに分割することは、現時点ではオプションではありません。
サンプルコードは次のとおりです。
azure - Azure CDN でカスタム ドメインがエラー 400 を返す
カスタム ドメイン (cdn.mydomain.com/pictures/logo.jpg) を介して Azure CDN のコンテンツにアクセスしようとしています。
しかし、エラー 400 が表示されます。
ただし、Azure で指定された URL (accountname.blob.core.windows.net) を介してアクセスすると、問題なく動作します。
ストレージは数週間前に作成され、カスタム ドメインも同様です。CNAME を作成し、それを accountname.blob.core.windows.net に向けました。
カスタム ドメインのコンテンツを表示するには?
編集: カスタム ドメインを xxxxxxx.vo.msecnd.net に向けてみました。今、私が得るのは空白のページだけです。カスタム ドメインを指定する場所がわかりません。とにかく、httpエラー400になってしまいます。
azure - ローカルファイルであるかのようにAzureストレージBLOBにアクセスするにはどうすればよいですか?
読み取り/書き込みアクセス用にファイルを「マウント」する方法はありますか?GetBlobReferenceとBlobStreamを使用できることに気付きましたが、Azureを理解しないライブラリへのファイルパスを指定したい場合はどうすればよいですか?
一例:指定されたファイルに何らかの方法でテキストを追加するだけの「ロガー」ライブラリ。別の(より現実的な)例:.sdfのデータソース(SQL Server Compact 4)
azure - Blob Storage (Azure) での署名付き識別子の目的の理解を深める
Azure の Blob Storage で Shared Access Signatures を使用する場合の署名付き識別子の目的を理解しようとしています。署名付き識別子は基本的にコンテナ レベルで適用され、名前が付けられていることを知っています。さらに、(署名付き識別子を指定しない場合とは対照的に) 1 時間以上有効な共有アクセス ポリシーを提供することも知っています。私の質問は、適切なアクセス許可と有効期限を使用して、コンテナー レベルで Shared Access Signature を適用することはできないのでしょうか? すべての返信に感謝します。
わかりました、私は今得たと思います。したがって、SI を解釈する最善の方法は、SI がコンテナー レベルでのアクセス制御の別のレベルの抽象化であるということです。さらに、ポリシーが取り消されるまでのポリシーの適用期間を指定できます。明示的宣言と SI 宣言の両方で、失効はほとんど有効期限です。
次の質問は、たとえば、侵害されたポリシーがあるとします。ポリシーをすぐに取り消したり変更したりするにはどうすればよいですか (コードでこのポリシーを定義したので、コードを再デプロイせずに変更するにはどうすればよいですか)?
azure - デプロイのために BLOB ストレージをローカル コンピューターにマウントすることはできますか?
一部のファイルを Azure BLOB ストレージにダンプして、Azure Web ロールでピックアップできるように構成すると非常に便利なビルド スクリプトがあります。
私の好みの計画は、ビルド サーバーに BLOB ストレージをマップされたドライブとしてマウントし、単純に Robocopy コピーを使用してファイルをコピーする方法を見つけることでした。WebDriveを使用して他の Web サーバーにこのようなファイルを既に展開しているため、これには最小限の摩擦が伴います。
それを可能にするソフトウェアを見つけました:http://www.gladinet.com/
ただし、さらに調査したところ、サーバー上で毛むくじゃらのハッキングをせずに実行するには、ポート 80 が必要であることがわかりました。
それで、私が使用できる別のソフトウェア、またはおそらく私が考えていなかった別の方法がありますか?たとえば、ブロブストレージと自動的に同期されるローカルフォルダーにファイルをデプロイするなどです?
@David Makogon に応じて更新
http://waacceleratorumbraco.codeplex.com/を使用しています。これにより、BLOB ストレージと Web ロールの間で双方向の同期が実行されます。これをhttp://cloudberrylab.com/でテストしたところ、手動でファイルを BLOB にデプロイでき、Web ロールに正しくデプロイされました。また、Web ロールの逆のファイルと更新されたファイルを BLOB に同期し、その後 BLOB ストレージから編集/ダウンロードしました。
私が本当に探しているのは、クラウドベリーの側面を自動化する方法です。そのため、いくつかのファイルを手動でコピーする手順はありません。それまでの間、Powershell ソリューションを調査します。
c# - Azure Blobs: C# でブロック リストを取得する
Azure Storageでブロック BLOBを使用しています。「Get Block List」を呼び出す必要があることがわかった限り、コミットされていないブロックを取得する必要があります。これが問題です。
「ブロック リストの取得」機能は C# (Microsoft.WindowsAzure.StorageClient.dll) に存在しますか?
MSDN は、HTTP 要求の実行についてのみ言及しており、StorageClient API については言及していません。
この関数が C# に存在しない場合、C# API に含める予定はありますか?
asp-classic - クラシック ASP を使用して Azure Blob Storage にファイルをアップロードするにはどうすればよいですか?
Classic ASP を使用して Azure Blob Storage にファイルをアップロードしようとしています (選択の余地はありません!)。ただし、MSXML2.ServerXMLHTTP を使用してコンテナーの内容を一覧表示することはできますが、ブロブの作成に失敗しています。PDFファイルをアップロードするために使用する必要があるため、BlockBlobを使用しています。
認証キーを正しく作成できていないと思います。Classic ASP VBScript で認証キーを作成するコード サンプルはありますか? 以下のようなものがありますが、クラシック ASP でキーを生成する方法がわかりません。
AuthenticationFailedServer failed to authenticate the request というエラーが表示されます。Authorization ヘッダーの値が、署名を含めて正しく形成されていることを確認してください。
ありがとう
グレアム
azure - Azure BLOBストレージを指す複数のCNAMEレコードをセットアップできますか?
すでにblobストレージを指す「storage.mycompany.com」のCNAMEを設定しており、正常に機能しています。しかし、私はマルチテナントアプリケーションを持っており、一部の顧客は独自のパーソナライズされたURLを望んでいます。彼らは、「storage.customer1.com」も同じBLOBストレージを指すようにしたいと考えています。
私の顧客の1人が自分のDNS(たとえば「storage.xyz.com」)で私のDNSエントリ「storage.mycompany.com」を指すCNAMEを構成しましたが、機能しませんでした。
誰かがそれが可能であることを知っていますか?
asp.net - WebページからAzureBLOBに巨大なファイルをアップロードする方法
内部的には、ASP.NETには2 GBのアドレス空間がありますが、実際には、アップロードに使用できる空き容量は1 GB未満です(http://support.microsoft.com/?id=295626を参照)。さらに、IIS7の上限は30MBであり(http://www.iislogs.com/steveschofield/iis7-post-40-adjusting-file-upload-size-in-iis7を参照)、おそらく実行する必要があります。
サーバー上でこの30MBの制限を超えます。しかし、Azureサーバーでこれを実行するにはどうすればよいですか?
また、http://support.microsoft.com/?id=295626によると
アップロードプロセス中に、ASP.NETは、ユーザーがファイルをディスクに保存する前に、ファイル全体をメモリにロードします。
、したがって、多くのユーザーが一度に大きなファイルをアップロードすると、メモリ制限をすぐに使い果たしてしまいます。以下のコードではストリームを使用していますが、とにかくファイル全体が最初にメモリにアップロードされると思います。これは本当ですか?
http://azureblobuploader.codeplex.com/のようなWebページ以外のアップロードツールを知っていますが、実際にはWebページからアップロードする必要があります。
だから、私の質問は次のとおりです。
- Webページから2GBを超えるファイルをblobにアップロードする方法
- すべてのメモリを消費しないストリームとしてWebページからファイルを大きくアップロードするにはどうすればよいですか?
- 解決策がアップロードを処理するために独自のHttpModuleまたはHttpHandlerを作成することである場合、これをAzureサーバーにインストールするにはどうすればよいですか?Azureでhttp://neatupload.codeplex.com/のようなHttpHandlerを使用できますか?
- このプロジェクトはSharePoint上にありませんが、SharePointにはBlobプロバイダーと呼ばれるものがあり、独自に作成できることを知っています。ASP.NET用のBlobプロバイダーはありますか?
上記のコードは、デフォルトで30 MB未満のファイルで正常に機能することにも言及できます。クライアントでは、SWFUploadV2.2.0を使用しています。
更新19.6月19:09: Twitterの@YvesGoelevenから、共有アクセス署名(msdn.microsoft.com/en-us/library/ee395415.aspxを参照)を使用し、ファイルをAzureBlobStorageに直接アップロードする方法を教えてもらいました。 ASP.NETをまったく通過しません。有効なSASutをblobストレージに返すJSONWCFを作成しました。
動作しますが、新しいblobアイテムを作成するときにAzure BlobStorageが期待するHTTPPUT動詞ではなく、HTTP POST動詞を使用するため、SWFUploadでは使用できません。HTTP PUT動詞を使用する独自のカスタムSilverlightまたはFlashクライアントコンポーネントを作成せずにこれを回避する方法を知っている人はいますか?ファイルをアップロードするときにプログレスバーが必要だったため、PUTを使用して送信されたフォームは最適ではありません。
クライアントコードに関心のある方(SWFUploadはHTTP POSTを使用し、Azure Blob Storageが期待するPUTではないため機能しません):
更新19.6月21:07:
SWFUploadはオープンソースであるため、ソースをダウンロードして動詞をPOSTからPUTに変更すると思いました。残念ながら、FlashPlayerURLRequestMethodはGETとPOST以外の動詞をサポートしていません。想定される回避策を見つけました
、ただし、これはAdobe Airでのみ機能し、FlashPlayerでは機能しません。
SilverLight3以降がHTTPPUT動詞をサポートしていることを読んだので、ここにたどり着くには、SilverLightコードを作成する必要があると思います。おそらくここhttp://blog.smarx.com/posts/uploading-windows-azure-blobs-from-silverlight-part-1-shared-access-signaturesで役立つこのブログ記事シリーズを見つけました。
更新@27。2011年6月:
これで、 http://blog.smarx.com/posts/uploading-windows-のプロジェクトに基づいて作成したカスタムSilverlightクライアントを使用して、Webページから大きなファイル(4,5 Gbファイルでテスト済み)を正常にアップロードできました。azure-blobs-from-silverlight-part-1-shared-access-signatures。Silverlightは、Azure BlobStorageが必要とするHTTPPUT動詞とプログレスアップロードの両方をサポートしているため、大量のファイルをAzure Blob Storageに直接アップロードできるようになり、ASP.NETソリューションを使用する必要もありません。いくつかの素晴らしいプログレスバーを取得し、ユーザーは必要に応じてアップロードの途中でキャンセルできます。ファイル全体がAzureBlobStorageに配置される前にアップロードされないため、サーバーのメモリ使用量は最小限に抑えられます。要求に応じてWCFRESTfullサービスから提供される共有アクセス署名(msdn.microsoft.com/en-us/library/ee395415.aspxを参照)を使用します。この解決策は私たちが見つけた最高のものだと思います。ありがとう。
更新@18。2011年7月:
ここで見つけたものを使用してオープンソースプロジェクトを作成しました。