【问题标题】:Automatically upload files in local directory to Azure Storage Explorer blob storage自动将本地目录中的文件上传到 Azure 存储资源管理器 blob 存储
【发布时间】:2018-10-08 19:44:14
【问题描述】:

我编写了 Python 代码来将文件从本地目录上传到 Azure 存储资源管理器中的 blob 容器,现在我正在尝试自动执行此操作(即,如果目录中有文件,它们会自动上传)。 有什么办法可以做到这一点吗?

import os
from azure.storage.blob import BlockBlobService
from azure.storage.blob import ContentSettings


accountName = "accountName"
ContainerSAS = "SAS_Key"
containerName = "containerName"

# Create reference to container using account name and SAS key
try:
    sas_service = BlockBlobService(account_name=accountName, 
    sas_token=ContainerSAS)
except Exception as e:
    print("Error during SAS service creation. Details: {0}".format(e))
print("Created SAS service with account {0}".format(accountName))

# Upload files to container from path
# directory_path = "< path to your directory >"
directory_path = "F:/dat_files_test"
for filename in os.listdir(directory_path):
    print(filename)
    blobName = filename
    localFile = directory_path + "/" + filename

    try:
        sas_service.create_blob_from_path(
        containerName,
        blobName,
        localFile,
        content_settings=ContentSettings(content_type='DPS/dat')
        )
    except Exception as e:
        print("Error during blob uploading. Details: {0}".format(e))
print("All files uploaded")

【问题讨论】:

  • 您需要在本地计算机上始终运行并监听文件的东西。您对这些文件所做的是实现细节。换句话说,这不是云计算或 Azure 的问题
  • @cricket_007 谢谢.. 你知道有什么这样的软件会不断检查文件吗?或者关于如何在 python 上实现这样的程序的任何建议?
  • 当您说本地文件时,您的意思是您的文件位于 VM(OnPrem/Cloud)或 FTP 或 ???
  • @Thomas 不,它们在本地目录中,就像在我的 C 驱动器中的文件夹中一样。我需要程序在我启动计算机时自动运行。
  • 我猜你可以找到一些像这样的观察者文件服务:stackoverflow.com/questions/182197/…???

标签: python azure azure-storage azure-blob-storage azure-webjobs


【解决方案1】:

如果我了解问题所在,您希望不断检查文件夹中是否存在文件,如果存在,请对文件执行某些操作(例如发送到 Azure)。

如果是这样,那么Scheduler 应该可以帮助您。

【讨论】:

  • 谢谢-我试过了,当我手动运行程序时它确实有效,但在启动时似乎没有运行......知道我该怎么做吗?
  • 此链接可能对您有所帮助。 stackoverflow.com/questions/4438020/…
猜你喜欢
  • 1970-01-01
  • 2012-03-22
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 2017-08-19
  • 2015-02-05
  • 1970-01-01
相关资源
最近更新 更多