标签: azure-blob-storage

AZcopy (V10) 如何将存储帐户中的文件夹内的数据复制到另一个存储帐户中的另一个容器

假设此路径https://xxxx.blob.core.windows.net/container1/folder1有一些文件夹和文件。

所以我需要将这些文件夹和文件移动到路径https://yyyy.blob.core.windows.net/container2

需要使用 Azcopy v10 来执行此操作。

当我使用 azcopy v10 尝试此操作时,文件和文件夹被复制到以下路径 https://yyyy.blob.core.windows.net/container2/folder1/

意外创建了folder1。我需要将文件夹 1 文件夹内的数据复制到容器 2 中。

使用的 AzCommand 是: .\azcopy cp " https://xxx.blob.core.windows.net/0075696/0075696/[SASkey] " " https://yyyy.blob.core.windows.net/0075696/[SASKey ] " --recursive=true

azcopy azure-blob-storage

3
推荐指数
1
解决办法
6068
查看次数

如何在c#中将图像从本地系统上传到azure blob存储

我正在尝试使用 C# 将图像文件从本地系统上传到 azure blob 存储。下面是我正在使用的代码:

string storageConnectionString = "<connection_string>";
CloudStorageAccount storageacc = CloudStorageAccount.Parse(storageConnectionString);

CloudBlobClient blobClient = storageacc.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("myblob");
container.CreateIfNotExists();

CloudBlockBlob blockBlob = container.GetBlockBlobReference("images");

using (var filestream = System.IO.File.OpenRead(@"C:\\Users\\John\\Desktop\\11173.jpg"))
{
    blockBlob.UploadFromStream(filestream);
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建具有myblob我可以看到已创建名称的容器。在其中我创建一个带有名称的 blob images,然后在其中上传图像文件。但我看不到其中的图像文件。上面的代码有什么问题。如何将图像文件上传到 Blob 存储中。请帮忙。谢谢

c# azure azure-blob-storage

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

如何处理 AZcopy 失败的文件传输

我正在将大量小文件从本地文件系统复制到 Azure blob 存储。很少有文件无法上传。AZcopy 似乎只是记录这些失败,并且没有简单的方法来重试上传这些文件。逐个搜索每个文件并手动上传是不可行的(从时间上来说)。是否有任何建议来处理这些失败并重试自动上传到 Blob?

azure azcopy azure-blob-storage

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

将文件从 databricks 复制到 blob 存储会导致文件大小为 0

我正在尝试使用以下命令将文件从 databricks 复制到 Blob 存储中的某个位置:

dbutils.fs.cp('dbfs:/FileStore/tables/data/conv_subset_april_2018.csv',"wasb://blobname@outputcontainername.blob.core.windows.net/" + "conv_subset_april_2018" + ".csv")
Run Code Online (Sandbox Code Playgroud)

现在 blobname 和 outputcontainername 是正确的,并且我已将之前的文件复制到存储位置。仅今天,当我执行命令时,我得到的文件大小为 0。此外,文件 data.csv 确实存在于给定位置,并且不为空或损坏。有谁知道会发生什么?屏幕截图显示了我的意思。

文件大小为 0

python azure azure-blob-storage databricks

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

Azure SAS 令牌无法与 Azure.Storage.Blobs BlobServiceClient 一起使用

我正在使用Azure.Storage.Blobs v12.1.0图书馆。我正在使用用户委托和 Azure 服务主体凭据生成 Blob 级 SAS 令牌,并尝试使用生成的 SAS 令牌上传 Blob。我完全按照Azure 中的此代码示例生成 SAS 令牌。

这是我用来创建 SAS 令牌的代码:

string blobEndpoint = string.Format("https://{0}.blob.core.windows.net", storageProviderSettings.AccountName);

        TokenCredential credential =
            new ClientSecretCredential(
                storageProviderSettings.TenantId,
                storageProviderSettings.ClientId,
                storageProviderSettings.ClientSecret,
                new TokenCredentialOptions());

        BlobServiceClient blobServiceClient = new BlobServiceClient(new Uri(blobEndpoint),
                                                            credential);

        BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
        BlobClient blobClient = containerClient.GetBlobClient(blobName);

        var delegationKey = await blobServiceClient.GetUserDelegationKeyAsync(DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(7));
        BlobSasBuilder sasBuilder = new BlobSasBuilder()
        {
            BlobContainerName = containerName,
            BlobName = blobName,
            Resource = "b",
            StartsOn = DateTimeOffset.UtcNow,
            ExpiresOn = DateTimeOffset.UtcNow.AddSeconds(expirySeconds)
        };
        sasBuilder.SetPermissions(BlobSasPermissions.All); …
Run Code Online (Sandbox Code Playgroud)

.net azure azure-storage azure-blob-storage azure-sas

3
推荐指数
1
解决办法
6338
查看次数

如何使用Java在azure中上传文件后获取blob-URL

我已将文件上传到 azure blob 容器上,但如何使用 java 获取上传文件的 url。我有天蓝色门户的连接字符串。

谁能帮我?

java azure azure-blob-storage

3
推荐指数
1
解决办法
5448
查看次数

错误代码:附加到 blob 时 InvalidBlobType

我正在尝试将新的 json 行附加到容器中现有的 json 文件中。下面是我的代码:

import json
import os

from azure.storage.blob import (
    BlockBlobService, AppendBlobService
)
from DBConnection import account_name, container_name, account_key


def getData(self, resp, filename):

        blobService = BlockBlobService(account_name=account_name, account_key=account_key)
        appendblobservice = AppendBlobService(account_name=account_name, account_key=account_key)

        resp = json.dumps(self.resp) #CONVERT FROM DICT TO STR

        filename = self.filename + ".json" #eg: 'ww1_abcded_202002031100.json'

        file_exist = blobService.exists(container_name, filename)

        if file_exist is False:
            print("inside IF")
            blobService.create_blob_from_text(container_name, filename, self.resp)


        else:
            print("Inside else")
            appendblobservice.append_blob_from_text(container_name, filename, self.resp)
            print("2345675t43")
Run Code Online (Sandbox Code Playgroud)

我遇到错误append_blob_from_text并产生以下错误:

azure.common.AzureConflictHttpError: blob 类型对此操作无效。错误代码:InvalidBlobType InvalidBlobTypeBlob 类型对此操作无效。

python azure azure-blob-storage

3
推荐指数
1
解决办法
2800
查看次数

将 IFormFile 转换为 Stream 将内容类型设置为 application/octet-stream

我想将图像文件上传到 Azure Blob 容器。我正在使用.net core webapi post方法上传图片。上传成功但内容类型无效,将原始image/jpeg类型转换为application/octet-stream.

[HttpPost]
public async Task<string> Post(IFormFile files)
{
    BlobClient blobClient = _containerClient.GetBlobClient(files.FileName);
    await blobClient.UploadAsync(files.OpenReadStream());
}
Run Code Online (Sandbox Code Playgroud)

谁能帮助我如何上传保持原始内容类型的图像。

提前致谢。

c# azure azure-blob-storage asp.net-core

3
推荐指数
1
解决办法
9767
查看次数

ImportError:无法从“azure.storage.blob”导入名称“BlockBlobService”

我正在尝试将 Azure blob 容器中的文本文件从 ANSI 编码转换为 UTF-8 编码,而不使用 python 将文件下载到本地。当我尝试在 Python 代码中导入BlockBlobService来处理 Azure Blob 存储时,出现以下错误。我相信我已经安装了正确的 python 模块,但可能还缺少一些我不知道的其他模块,或者可能是“没有正确的 python 模块版本”。“pip list”命令在我的虚拟机上显示以下内容。对此有任何帮助都会很好。

pip list 包 版本


azure-common         1.1.25
azure-core           1.4.0
azure-nspkg          3.0.2
azure-storage        0.36.0
azure-storage-blob   12.3.0
azure-storage-common 2.1.0
azure-storage-nspkg  3.1.0
bcrypt               3.1.7
certifi              2020.4.5.1
cffi                 1.14.0
chardet              3.0.4
cryptography         2.9
idna                 2.9
isodate              0.6.0
msrest               0.6.13
oauthlib             3.1.0
paramiko             2.7.1
pip                  20.0.2
pycparser            2.20
PyNaCl               1.3.0
python-dateutil      2.8.1
requests             2.23.0
requests-oauthlib    1.3.0
setuptools           41.2.0
six                  1.14.0
urllib3              1.25.8
wheel                0.34.2
Run Code Online (Sandbox Code Playgroud)

python ansi utf-8 python-import azure-blob-storage

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

Azure.Fluent.Management 和 Azure.Storage.Blobs 包之间存在冲突吗?

在我的项目中,我安装了该Microsoft.Azure.Management.Fluent软件包(版本 1.27)来为我的 azure 订阅进行资源管理。我的连接对象如下所示:

AzureCredentials credentials = GenerateCredentials(); // custom method that returns my creds.
IAzure azureConn = Azure
   .Configure()
   .Authenticate(credentials)
   .WithDefaultSubscription();
Run Code Online (Sandbox Code Playgroud)

这很好用。今天,我安装了Azure.Storage.Blobs软件包Nuget(版本 12.4)。安装这个包后,我得到一个错误:

> CS0234 C# The type or namespace name 'Configure' does not exist in the
> namespace 'Azure' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

当我卸载该Azure.Storage.Blobs软件包时,错误消失。这里可能发生了什么?我在 Net Core 2.2 MVC 项目中使用它。

azure azure-blob-storage asp.net-core azure-fluent-api

3
推荐指数
1
解决办法
512
查看次数