假设此路径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
我正在尝试使用 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 存储中。请帮忙。谢谢
我正在将大量小文件从本地文件系统复制到 Azure blob 存储。很少有文件无法上传。AZcopy 似乎只是记录这些失败,并且没有简单的方法来重试上传这些文件。逐个搜索每个文件并手动上传是不可行的(从时间上来说)。是否有任何建议来处理这些失败并重试自动上传到 Blob?
我正在尝试使用以下命令将文件从 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 确实存在于给定位置,并且不为空或损坏。有谁知道会发生什么?屏幕截图显示了我的意思。
我正在使用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) 我已将文件上传到 azure blob 容器上,但如何使用 java 获取上传文件的 url。我有天蓝色门户的连接字符串。
谁能帮我?
我正在尝试将新的 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 类型对此操作无效。
我想将图像文件上传到 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)
谁能帮助我如何上传保持原始内容类型的图像。
提前致谢。
我正在尝试将 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) 在我的项目中,我安装了该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 项目中使用它。