标签: azure-blob-storage

Azure Blob 存储覆盖重复文件

我正在使用 Azure Blob 存储来上传/下载文件。问题是,如果我将任何新文件上传到与已上传文件同名的 azure blob,那么它会自动覆盖以前上传的文件的内容。

例如

这些是上传到 azure blob 存储上的文件 -

  1. 文件1.docx
  2. 文件2.png
  3. 文件1.png

因此,如果我上传一个名为“file1.docx”的新文件,该文件具有不同的内容。然后 blob 存储将替换之前上传的 file1.docx 。所以在这种情况下我会丢失以前上传的文件。

有什么方法可以让 blob 存储自动检测是否存在重复项,以便它可以在最后附加 _1 或 (1) 或任何其他方法来解决此问题?

storage blob azure azure-blob-storage

0
推荐指数
1
解决办法
2866
查看次数

使用 python API 列出 Azure BlobStorage 上的文件

此代码尝试列出 Blob 存储中的文件:

#!/usr/bin/env python3

import os

from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient, __version__
from datetime import datetime, timedelta
import azure.cli.core as az

print(f"Azure Blob storage v{__version__} - Python quickstart sample")

account_name = "my_account"
container_name = "my_container"
path_on_datastore = "test/path"

def _create_sas(expire=timedelta(seconds=10)) -> str:
    cli = az.get_default_cli()

    expire_date = datetime.utcnow() + expire
    expiry_string = datetime.strftime(expire_date, "%Y-%m-%dT%H:%M:%SZ")
    cmd = ["storage", "container", "generate-sas", "--name", container_name, "--account-name",
           account_name, "--permissions", "lr", "--expiry", expiry_string, "--auth-mode", "login", "--as-user"]
    if cli.invoke(cmd) != 0:
        raise RuntimeError("Could not receive …
Run Code Online (Sandbox Code Playgroud)

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

0
推荐指数
1
解决办法
7242
查看次数

如何在 Azure CLI 或 Bash 脚本中获取 azure 存储帐户的大小?

我想在不使用门户(指标)的情况下检索天蓝色存储帐户的大小。如何通过 azure CLI 或 bash 脚本获取存储帐户的指标?有没有办法通过 azure CLI 或任何 bash 脚本来实现这一点?

azure azure-storage azure-cli azure-blob-storage azure-metrics-advisor

0
推荐指数
1
解决办法
3174
查看次数

如何查找Azure存储帐户内不同访问层中的blob大小?

要求是确定存储帐户中热访问层 blob 和存档访问层 blob 的大小,以进行成本分析。我们如何计算 Azure Blob 的总大小?

azure azure-storage azure-blob-storage azure-storage-account

0
推荐指数
1
解决办法
890
查看次数

减少 pyspark 中的 parquet 文件数量

已使用 databricks 中的 pyspark 在 Azure Blob 存储中创建了按日期分区的 Parquet 文件,但在一个日期文件夹中收到了如此多的文件,例如 500 个文件。我需要使用 PySpark 减少文件数量,例如一个日期文件夹中的 10 或 15 个文件。

df.write.format("parquet").mode("overwrite").partitionBy("Date").save(
    "/mnt/mydata.parquet"
)
Run Code Online (Sandbox Code Playgroud)

我尝试过coalesce

df.write.format("parquet").mode("overwrite").partitionBy("Date").coalesce(15).save(
    "/mnt/mydata.parquet"
)
Run Code Online (Sandbox Code Playgroud)

但会抛出错误:

AttributeError:“DataFrameWriter”对象没有属性“coalesce”

请帮忙。

apache-spark pyspark azure-blob-storage databricks

-2
推荐指数
1
解决办法
1004
查看次数