标签: azure-blob-storage

减少用于下载/导出的 Azure VM OS 磁盘的大小

我想创建一个操作系统磁盘小于默认 127GB 的 Azure VM。我在Azure门户中找不到这样的选项,所以我尝试缩小磁盘。我还没有成功。

我知道我可以修剪(使用碎片整理工具)并缩小卷(使用磁盘管理),但这不会改变硬盘的“物理”大小。也就是说,如果我将磁盘缩小到 40GB,则只有 87GB 未分配,而 Blob 仍会报告 127GB。

我试图实现的目标是缩小 blob 以匹配分配的空间,从而促进更小的 VM 映像下载/导出(例如 40 与 127gb)。

感谢任何和所有的帮助。

azure azure-virtual-machine azure-blob-storage

6
推荐指数
1
解决办法
7625
查看次数

PUT 上 SAS blob url 而不指定 x-ms-blob-type 标头?

有没有办法生成不需要指定 x-ms-blob-type 标头的 SAS url?

azure azure-blob-storage

6
推荐指数
1
解决办法
997
查看次数

HttpResponseMessage 重定向到私有 Azure Blob 存储

使用 asp.net 开发 API

是否可以将用户重定向到私有 azure blob 存储?我可以使用 SAS 密钥或 azure blob SDK 执行此操作吗?

例如我想做这样的事情:

var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri(bloburl);
return response;
Run Code Online (Sandbox Code Playgroud)

是否可以通过将密钥放入 URL 来访问私有 blob?显然我不想放主钥匙。

c# asp.net azure azure-blob-storage

6
推荐指数
1
解决办法
1698
查看次数

Azure BlobStorage:400(请求输入之一超出范围。)

当我尝试将 blob 上传到我的 azure 存储帐户时,收到以下错误响应

<?xml version="1.0" encoding="utf-8"?>
  <Error>
    <Code>OutOfRangeInput</Code>
    <Message>One of the request inputs is out of range. 
           RequestId:--------------------------
           Time:2017-10-29T07:13:37.4218874Z
    </Message>
  </Error>
Run Code Online (Sandbox Code Playgroud)

我正在上传多个 blob,其中一些已成功上传,而另一些则未成功。引发错误的错误具有较大的 blob 名称(大约 100 个字符),因此假设这可能是由于 blob 名称大小所致。但根据https://blogs.msdn.microsoft.com/jmstall/2014/06/12/azure-storage-naming-rules/,最大 blob 名称可以是 1024,而我的 blob 名称远小于该限制。

示例 blob 名称为“65/36/aluminium_03_group67_product_02pCube1_product_02group2_product_02Flow000_Albedo.png”

编辑代码以上传 blob。

要上传的代码是 JavaScript 代码。我正在将文件分成多个块并上传。这里是负责上传文件的函数

function AzureFileUpload(file, uploadUrl, successCallback, progressCallback, errorCallback){
    this.file = file;
    this.uploadUrl = uploadUrl;
    this.successCallback = successCallback;
    this.progressCallback = progressCallback;
    this.errorCallback = errorCallback;
    this.reader = new FileReader();
    this.maxBlockSize = 256 * 1024;
    this.blockIds = [];
    this.totalBytesRemaining …
Run Code Online (Sandbox Code Playgroud)

azure azure-blob-storage

6
推荐指数
1
解决办法
1万
查看次数

Postgres pg_dump 到 Azure Blob 存储

是否可以使用 Postgrespg_dump将备份写入 Azure Blob 存储?我在 postgres 数据库中的 VM 上有近 2TB 的数据,我需要将所有数据迁移到 Blob 存储。

postgresql pg-dump azure azure-blob-storage

6
推荐指数
1
解决办法
2417
查看次数

将 blob 从一个目录复制到同一容器 Azure 存储中的另一个目录

问题

我正在尝试将 blob 从一个目录复制到另一个目录中,然后从源中删除 blob。我已经尝试过下面的代码,但没有复制并粘贴到另一个文件夹中,但删除操作有效。

代码

var cred = new StorageCredentials("storageName", "Key");
var account = new CloudStorageAccount(cred, true);
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("containerName");
CloudBlockBlob sourceBlob = container.GetBlockBlobReference("folder/test.jpg");

//this doesn't work
sourceBlob.StartCopyAsync(new Uri("destination url"));
//this works
sourceBlob.DeleteAsync();
Run Code Online (Sandbox Code Playgroud)

c# azure-blob-storage

6
推荐指数
1
解决办法
6912
查看次数

Azure 存储文件的上次访问时间

除了日志分析之外,还有其他方法可以确定 Azure 存储文件的上次访问时间吗?那么,有没有人遇到过这种情况,实现这一目标的最佳方法是什么?还是我太在意这个了?

提前谢谢您。

lastaccesstime azure-blob-storage

6
推荐指数
1
解决办法
1829
查看次数

下载文件时的 Azure Blob 存储问题

我正在开发允许用户下载 Azure Blob 存储项目的功能。

我正在尝试使用以下方法获取 blob 列表:

 var list = await container.GetBlobsAsync(BlobTraits.All, BlobStates.All, string.Empty).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

这是我遇到的错误:

错误 CS1061“ConfiguredCancelableAsyncEnumerable”不包含“GetAwaiter”的定义,并且找不到接受“ConfiguredCancelableAsyncEnumerable”类型的第一个参数的可访问扩展方法“GetAwaiter”(您是否缺少 using 指令或程序集引用?)

C# 7.3 可以使用异步吗?或者使用异步调用来获取容器中的所有 blob,我需要升级到 8.0 C#?

如果我将代码更改为:

            await foreach (BlobItem page in container.GetBlobsAsync(BlobTraits.None, BlobStates.None, string.Empty))
            {
                yield return container.GetBlobClient(page.Name);
            }
Run Code Online (Sandbox Code Playgroud)

然后我有这个错误:

错误 CS8370 功能“异步流”在 C# 7.3 中不可用。请使用 8.0 或更高版本的语言。

我知道 GetBlobsAsync() 返回AsyncPageable<>,并且我假设它仅在 C# 8.0 中可用?

c# azure azure-blob-storage

6
推荐指数
1
解决办法
4404
查看次数

从 Azure blob 存储读取 csv 并将其存储在 DataFrame 中

我正在尝试使用 python 从 blob 存储读取多个 CSV 文件。

我正在使用的代码是:

blob_service_client = BlobServiceClient.from_connection_string(connection_str)
container_client = blob_service_client.get_container_client(container)
blobs_list = container_client.list_blobs(folder_root)
for blob in blobs_list:
    blob_client = blob_service_client.get_blob_client(container=container, blob="blob.name")
    stream = blob_client.download_blob().content_as_text()
Run Code Online (Sandbox Code Playgroud)

我不确定存储在 pandas 数据框中读取的 CSV 文件的正确方法是什么。

我尝试使用:

df = df.append(pd.read_csv(StringIO(stream)))
Run Code Online (Sandbox Code Playgroud)

但这向我显示了一个错误。

知道我该怎么做吗?

python python-3.x pandas azure-blob-storage

6
推荐指数
3
解决办法
3万
查看次数

使用 Parquet.NET 写入 Parquet 文件适用于本地文件,但会导致 Blob 存储中的空文件

我们正在使用parquet.net来编写 parquet 文件。我设置了一个包含 3 列和 2 行的简单架构:

        // Set up the file structure
        var UserKey = new Parquet.Data.DataColumn(
            new DataField<Int32>("UserKey"),
            new Int32[] { 1234, 12345}
        );

        var AADID = new Parquet.Data.DataColumn(
            new DataField<string>("AADID"),
            new string[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }
        );

        var UserLocale = new Parquet.Data.DataColumn(
            new DataField<string>("UserLocale"),
            new string[] { "en-US", "en-US" }
        );

        var schema = new Schema(UserKey.Field, AADID.Field, UserLocale.Field
        );
Run Code Online (Sandbox Code Playgroud)

当使用 FileStream 写入本地文件时,会创建一个文件,当代码完成时,我可以在文件中看到两行(后面是 1 kb):

            using (Stream fileStream = System.IO.File.OpenWrite("C:\\Temp\\Users.parquet")) {
                using (var parquetWriter = new …
Run Code Online (Sandbox Code Playgroud)

c# parquet azure-blob-storage azure-functions parquet.net

6
推荐指数
1
解决办法
8234
查看次数