我想重命名 Azure 存储资源管理器中的 blob 文件。它位于特定 blob 容器的文件夹中。我正在使用 python.
我使用了这个代码。
sourceFileName = abc.xlsx
destinationFileName = xyz.xlsx
sourcePath = 'cloudops-resources/outputs/'
destinationPath = 'cloudops-resources/outputs/'
blob_url = blob_service.make_blob_url(sourcePath,sourceFileName)
blob_service.copy_blob(destinationPath, destinationFileName, blob_url)
但是 azure.storage.blob 中没有 blob_service 模块。我也尝试使用 BlockBlobService。但是无法导入。
有人可以告诉我如何使用 python 重命名已经存在的 blob 吗?
我在我的环境中尝试并得到以下结果:
有人可以告诉我如何使用 python 重命名已经存在的 blob 吗?
最初,我在 azure blob 存储中有一个名为
sample1.xlsx
的 xlsx 文件。
传送门:
您可以使用以下代码重命名文件名。
代码:
from azure.storage.blob import BlobServiceClient
connection_string = "Your storage connection string"
container_name = "test3"
blob_name = "sample1.xlsx"
new_blob_name = "sample567.xlsx"
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
blob_client = blob_service_client.get_blob_client(container_name, blob_name)
new_blob_client = blob_service_client.get_blob_client(container_name, new_blob_name)
# Copy the blob to the new name
new_blob_client.start_copy_from_url(blob_client.url)
# Delete the original blob
blob_client.delete_blob()
print("The blob is Renamed successfully:",{new_blob_name})
输出:
The blob is Renamed successfully: {'sample567.xlsx'}
传送门:
您可以使用适用于 Python 的 Azure 存储 SDK,使用 Python 在 Azure 存储资源管理器中重命名 blob 文件。下面是一个示例代码片段,用于重命名特定容器文件夹中的 blob 文件:
from azure.storage.blob import BlobServiceClient, BlobClient
# Replace with your connection string and blob details
connection_string = "your_connection_string"
container_name = "your_container_name"
blob_name = "original_blob_name"
new_blob_name = "new_blob_name"
# Create a BlobServiceClient object using the connection string
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
# Get a BlobClient object for the original blob
blob_client = blob_service_client.get_blob_client(container=container_name, blob=blob_name)
# Get the original blob properties
blob_properties = blob_client.get_blob_properties()
# Copy the original blob to a new blob with the new name
new_blob_client = blob_service_client.get_blob_client(container=container_name, blob=new_blob_name)
new_blob_client.start_copy_from_url(blob_client.url)
# Delete the original blob
blob_client.delete_blob()
print("Blob renamed successfully")
此代码将首先使用提供的连接字符串创建一个 BlobServiceClient 对象,然后使用容器名称和原始 blob 名称为原始 blob 获取 BlobClient 对象。然后它将获取原始 blob 属性,并使用它们使用新 BlobClient 对象的 start_copy_from_url 方法将 blob 复制到具有新名称的新 blob。最后,它将使用原始 BlobClient 对象的 delete_blob 方法删除原始 blob。