如果我正在创建 Azure 存储帐户 v2,那么我们可以存储在 blob 存储中的文件的最大容量(或最大大小)是多少?我看到一些文档将 500 TB 作为限制。这是否意味着一旦存储帐户达到 500 TB 限制,它将停止接受上传?或者有没有办法通过支付更多费用来存储更多文件?
我有以下用 Python 编写的简单 Azure 函数。它是一个 HTTP 触发器,它应该简单地返回来自 Azure 存储帐户的 blob 输入绑定的名称和 URI(此处为 Microsoft 的参考文档)。
import logging
import azure.functions as func
import azure.storage.blob
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
def main(req: func.HttpRequest, inputblob: func.InputStream) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
return func.HttpResponse(f"Blob name: {inputblob.name}. Blob URI: {inputblob.uri}")
Run Code Online (Sandbox Code Playgroud)
我的 function.json 文件看起来像这样。我已经验证 local.settings.json 中的连接字符串是正确的,并且 blob 路径也是正确的。
{
"scriptFile": "__init__.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"name": …Run Code Online (Sandbox Code Playgroud) 我正在尝试弄清楚如何使用ngx-awesome-uploader将图像上传到 Angular 的 azure 存储 blob。
我希望能够使用此库将其从 angular 直接发送到 azure 存储 blob。我已经能够将它发送到我的 nodejs 后端没问题,但是将它直接发送到 blob 存储对我来说是一个挑战。谁能提供一个如何做到这一点的工作示例?我感谢任何帮助!
Choose Simple Demo in stackblitz. Not Advanced Demo
文件被传递给这个。(控制台输出在代码下方)
import { FilePreviewModel } from 'ngx-awesome-uploader';
import { HttpRequest, HttpClient, HttpEvent, HttpEventType } from '@angular/common/http';
import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';
import { FilePickerAdapter } from 'ngx-awesome-uploader';
export class DemoFilePickerAdapter extends FilePickerAdapter {
constructor(private http: HttpClient) {
super();
}
public uploadFile(fileItem: …Run Code Online (Sandbox Code Playgroud) 尝试开始将一个简单的文件上传到 .NET Core 3.0 中的 Azure 存储 Blob。我在 VS 中启动了一个全新的 Razor Pages Web 应用程序,添加了Azure.Storage.BlobsNuGet 包 (v12.4)。调用blobClient.Upload(content)时AzureBlobRepository.cs,代码只是挂起。它永远不会抛出异常,也永远不会超时。这实际上是解决方案中唯一的代码(VS 模板附带的样板代码除外)。
索引.cshtml
@page
@model IndexModel
<div class="text-center">
<form method="post" enctype="multipart/form-data">
<input type="file" asp-for="@Model.FormFile " />
<button asp-page-handler="Upload" type="submit">Submit</button>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
索引.cshtml.cs
public class IndexModel : PageModel
{
public IFormFile FormFile { get; set; }
public IActionResult OnPostUpload()
{
using (var memoryStream = new MemoryStream())
{
FormFile.CopyTo(memoryStream);
var container = new BlobContainerClient("UseDevelopmentStorage=true", "testcontainer");
container.CreateIfNotExists();
BlobClient blobClient = container.GetBlobClient(FormFile.FileName);
blobClient.Upload(memoryStream); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个容器中的 blob 复制到 azure 中的另一个存储帐户。
我正在使用 @azure/storage-blob 12.0.0,但我无法弄清楚如何在不下载 blob 的情况下将其复制到另一个容器。
也许有人可以提供帮助并发布一个快速示例。
斯特凡
我计划在Windows Azure上运行数值模拟.模拟可能需要数天或数周.每一秒左右的模拟产生一组相同的数字的temperature: double,pressure: double,velocity: double[]等我想用来存储.
要求是:
我应该使用哪个存储空间?你能指点我一个讨论这种用例的教程吗?
救命!我有一些用于保存在Azure blob存储中的工作的图像文件,其中一些图像在过去几个小时内被意外覆盖.有什么方法可以恢复原始文件吗?
谢谢
我有一个Azure Webjob,可以将大型CSV(500 MB到10+ GB)复制到SQL Azure表中.我每天都会获得一个新的CSV并且我只保留1个月的记录,因为将它们保存在SQL中是很昂贵的,所以它们非常不稳定.
为了让它们开始,我批量上传了上个月的数据(~200 GB),我看到所有30个CSV文件同时被处理.这导致上传中非常疯狂的备份,如下图所示:

我有大约5页看起来像这样计算所有的重试.如果我一次上传2个,一切都很棒!但是从运行时间可以看出,有些可能需要14个多小时才能完成.
我想要做的是批量上传30个CSV并让Webjob一次只处理3个文件,然后一旦完成,就开始下一个.这可能与当前的SDK有关吗?
我正在使用这种方法来加密文件并将它们存储在Azure块blob中.我想将加密的blob复制到另一个blob存储帐户并在此过程中对其进行解密.我知道可以执行"复制blob"操作,该操作完全在Azure内部运行,并且不会通过我的本地计算机在传输过程中下载blob内容.我相信这是通过这种CloudBlockBlob.StartCopy方法实现的.但是,是否可以使用加密文件执行此操作并将其解密到传输到其他存储帐户?
在上面的链接之后,我的代码如下所示.blob.OpenRead有效,但blob2.StartCopy不起作用.
BlobEncryptionPolicy policy = new BlobEncryptionPolicy(null, cloudResolver);
BlobRequestOptions options = new BlobRequestOptions() { EncryptionPolicy = policy };
CloudBlockBlob blob = container.GetBlockBlobReference("MyFile.txt");
//var blobStream = blob.OpenRead(null, options); //this works
CloudBlockBlob blob2 = container2.GetBlockBlobReference("MyFile2.txt");
blob2.StartCopy(blob, null, null, options, null); //this fails with: The remote server returned an error: (404) Not Found.
Run Code Online (Sandbox Code Playgroud) 我知道如何将整个文件夹上传到Azure blob上的一个容器,就是这样:
Get-ChildItem -File -Recurse | Set-AzureStorageBlobContent -Container $ContainerName -Context $ctx
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我的容器下面有一个文件夹,说它是“测试”。如何将本地文件夹中的所有文件/子文件夹上载到Azuure Blob mycontainer / test /。
谢谢