标签: azure-blob-storage

Azure Blob 存储是否支持用于引用位置或文件的别名?

Azure Blob 存储是否支持用于引用位置或文件的别名?

我有 Azure 订阅,想知道 Blob 存储在引用位置或文件时是否支持别名

如果文件像这样可用 - /storage/container/folderA/fileA

我想做这样的事情 -/foo/pointertofileA

如果我访问上面的网址,这仍然允许我检索文件

alias azure azure-blob-storage

5
推荐指数
1
解决办法
1739
查看次数

不要覆盖 Azure Blob 存储

我有一种将文件添加到 Azure Blob 存储的方法,问题是我试图指定一个条件,在该条件下它不会覆盖 blob,而只是添加到其中。我正在尝试使用参数访问条件,但是 VS 说此方法不能采用两个参数 - async void archiveNewImportedImages(List imageFiles) {

        // Saving the images
        // Retrieve reference to a blob named "myblob".


        // Create or overwrite the "myblob" blob with contents from a local file.

        using (var fileStream = System.IO.File.OpenRead(@"C:\Users\rahulchawla\Desktop\FilezilleIMGS\FilezilleIMGS\MTO_Image\CR01-1-20170623-1327.jpg"))
        {

            await blockBlob.UploadFromStreamAsync(fileStream, accessCondition: AccessCondition.GenerateIfNoneMatchCondition("*"));
        }

        // save url of the image into a variable and later to the database
        ///  fileURL = blockBlob.Uri.ToString();



    }
Run Code Online (Sandbox Code Playgroud)

有什么建议么?

最终目标:不要覆盖容器 - 继续添加不同的文件,例如。img1.jpg、img2.jpg 转为 blob

其他详细信息:想要将图像附加到容器中(换句话说,继续将图像添加到容器中)。如果文件存在,则不想覆盖现有文件)

c# cloud azure blobstorage azure-blob-storage

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

Azure Blob 存储相当于 S3 网站重定向

S3 有自己定义的重定向元数据:( x-amz-website-redirect-locationWebsiteRedirectLocation )。但我没有看到任何与Azure blob 存储等效的东西。对此是否有任何一流的支持,或者我应该在 blob 元数据中使用自定义键?

(我引用了 golang api,但这只是为了展示一种 API 实现。)

azure azure-blob-storage

5
推荐指数
1
解决办法
1123
查看次数

用于白名单的 Azure 存储 blob IP 范围是多少

我正在尝试查找 Azure 存储 blob 的 IP 范围。我有一个存储块。我无法将域名列入白名单,因此我正在为此寻找 IP 范围。我的斑点位于 USWEST 地区。

有人可以建议吗?

azure azure-storage azure-blob-storage

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

用于中间/临时存储的 Azure cosmos db 与 blob 存储

我们在 WebAPI 中有要求,以 JSON 的形式从外部 API 提取有效负载,清理并将其发布到 Azure Sql 中。对于此要求,我们目前依赖于 blob 存储,将 json 有效负载存储到 azure blob 中,并将其检索到 UI 中以进行数据清理活动。用户可以花费大量时间来验证数据并根据需要进行修改。用户可能会起草几天,并在完成所有清理后单击“导入”按钮。现在,我观察到,在这些草稿期间,blob 只是被检索并反序列化到对象列表中,以找到要更新的相应属性。一旦更新完成,当用户单击“草稿”时,同一列表将被序列化为 json 并存储回 blob。序列化/反序列化的过程似乎很昂贵。相反,我正在考虑用 Cosmos DB 替换 blob。这真的会即兴表演吗?建议 Azure Sql Json 支持是否比所有这些选项更可行?我什至想到了 Redis 缓存?决策的主要因素也是成本效益。

json azure azure-redis-cache azure-blob-storage azure-cosmosdb

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

Azure 搜索:OData 上下文/查询中按分组还是区分?

使用 Azure 搜索服务,我需要能够按查询中的字段进行分组或使用不同的字段。

用例: 我的业务模型有“资源”的概念,它有 >=1 次修订。1 个修订版是 Azure 索引中的 1 个文档。我需要模拟“从索引中选择最近更改的资源,同时还允许分页”之类的东西,因此我需要能够将索引中的文档分组到资源中并通过它们进行搜索

odata azure-sdk-.net azure-cognitive-search azure-blob-storage

5
推荐指数
1
解决办法
2165
查看次数

如何处理来自 blob 存储且数据块中路径较长的多个文件?

我已启用 API 管理服务的日志记录,并且日志存储在存储帐户中。现在,我尝试在 Azure Databricks 工作区中处理它们,但在访问这些文件时遇到困难。

问题似乎是自动生成的虚拟文件夹结构如下所示:

/insights-logs-gatewaylogs/resourceId=/SUBSCRIPTIONS/<subscription>/RESOURCEGROUPS/<resource group>/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/<api service>/y=*/m=*/d=*/h=*/m=00/PT1H.json
Run Code Online (Sandbox Code Playgroud)

我已将insights-logs-gatewaylogs容器安装在下面/mnt/diags,并dbutils.fs.ls('/mnt/diags')正确列出了该resourceId=文件夹,但未dbutils.fs.ls('/mnt/diags/resourceId=')找到声明文件

如果我沿着虚拟文件夹结构创建空标记 blob,我可以列出每个后续级别,但该策略显然会失败,因为路径的最后部分是按年/月/日/小时动态组织的。

例如一个

spark.read.format('json').load("dbfs:/mnt/diags/logs/resourceId=/SUBSCRIPTIONS/<subscription>/RESOURCEGROUPS/<resource group>/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/<api service>/y=*/m=*/d=*/h=*/m=00/PT1H.json")
Run Code Online (Sandbox Code Playgroud)

此错误的产量:

java.io.FileNotFoundException: File/resourceId=/SUBSCRIPTIONS/<subscription>/RESOURCEGROUPS/<resource group>/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/<api service>/y=2019 does not exist.
Run Code Online (Sandbox Code Playgroud)

很明显,通配符已经找到了第一年文件夹,但拒绝进一步向下。

我在 Azure 数据工厂中设置了一个复制作业,该作业成功复制同一 Blob 存储帐户中的所有 json Blob 并删除前缀resourceId=/SUBSCRIPTIONS/<subscription>/RESOURCEGROUPS/<resource group>/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/<api service>(因此根文件夹以年份组件开头),并且可以一路成功访问,而无需创建空标记斑点。

因此,问题似乎与长虚拟文件夹结构有关,该结构大部分为空。

是否有另一种方法可以在 databricks 中处理此类文件夹结构?

更新:我也尝试在安装时提供路径作为安装的一部分source,但这也没有帮助

azure azure-blob-storage azure-databricks

5
推荐指数
1
解决办法
2763
查看次数

使用服务主体访问 Azure Blob 存储

我想通过使用来自活动目录服务主体的凭据从 python 访问私有 blob 存储。

我知道这个相关问题How do I authenticate a user against an Azure storage blob in python? 这帮助我走到了这一步,但现在我陷入了困境。

我可以进行身份​​验证并获取令牌,该令牌允许我列出容器、创建新容器,但不允许我列出或访问任何 blob。

我希望通过 cli 进行设置az

服务主体的设置如下:

az ad sp create-for-rbac -n "http://$NAME" --role Contributor \
    --scopes "/subscriptions/$SUB_ID/resourceGroups/$RESOURCE_GROUP" 
Run Code Online (Sandbox Code Playgroud)

我认为应该提供完全访问权限,但我还添加了以下内容以确保:

az role assignment create \
    --role "Storage Blob Data Contributor" \
    --assignee-object-id "$OBJECT_ID" \
    --assignee-principal-type "ServicePrincipal" \
    --scope "/subscriptions/$SUB_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/$STORAGE_ACCOUNT/blobServices/default/containers/$CONTAINER"
Run Code Online (Sandbox Code Playgroud)

然后我像这样进行身份验证:

from azure.common.credentials import ServicePrincipalCredentials
import adal
from azure.storage.blob import (
    BlockBlobService,
    ContainerPermissions,
)
from azure.storage.common import (
    TokenCredential
)

# …
Run Code Online (Sandbox Code Playgroud)

azure azure-active-directory azure-blob-storage

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

适用于 Blob 的 Azure Python SDK - 导入错误:无法导入名称“BlobClient”

我正在编写代码从 Azure 下载 Blob,但无法导入BlobClient.

from azure.storage.blob import BlobClient

cs = "CONNECTION_STRING"

blob = BlobClient.from_connection_string(cs, container="mycontainer", blob="config.ini")

with open("./config.ini", "wb") as my_blob:
    blob_data = blob.download_blob()
    my_blob.writelines(blob_data.content_as_bytes())
Run Code Online (Sandbox Code Playgroud)

我不断收到以下错误:

$ python3 download.py

Traceback (most recent call last):
  File "download.py", line 1, in <module>
    from azure.storage.blob import BlobClient
ImportError: cannot import name 'BlobClient'
Run Code Online (Sandbox Code Playgroud)

我正在使用虚拟环境:

pip3 install pylint
python3 -m venv env
pip3 install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

我的requirements.txt文件如下所示:

Flask
azure-storage-blob
Run Code Online (Sandbox Code Playgroud)

我的Python版本是:

Flask
azure-storage-blob
Run Code Online (Sandbox Code Playgroud)

python azure-blob-storage azure-sdk-python

5
推荐指数
1
解决办法
5021
查看次数

使用 python 读取 azure blob

我想将存储在 Azure blob 存储中的 Excel 文件读取到 python 数据框。我会使用什么方法?

python azure-blob-storage azure-functions azure-blob-trigger

5
推荐指数
1
解决办法
8411
查看次数