MCPcopy Create free account
hub / github.com/adobe/Marinus / AzureStorageManager

Class AzureStorageManager

python3_cron_scripts/libs3/AzureStorageManager.py:30–208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28
29
30class AzureStorageManager(object):
31 _logger = None
32 _storage_config_file = "connector.config"
33
34 _azure_account_url = ""
35 _azure_service_client = ""
36 _azure_creds = None
37
38 def _log(self):
39 """
40 Get the log
41 """
42 return logging.getLogger(__name__)
43
44 def _auth_to_azure(self, config):
45 """
46 Authenticate to Azure
47 """
48 self._azure_account_url = ConnectorUtil.get_config_setting(
49 self._logger, config, "Azure", "az.storage_account_url"
50 )
51
52 self._azure_creds = DefaultAzureCredential()
53 self._azure_service_client = BlobServiceClient(
54 account_url=self._azure_account_url, credential=self._azure_creds
55 )
56
57 def __init__(self, config_file="", log_level=None) -> None:
58 """
59 Initialize the class
60 """
61
62 self._logger = self._log()
63 if log_level is not None:
64 self._logger.setLevel(log_level)
65
66 if config_file != "":
67 self._storage_config_file = config_file
68
69 config = configparser.ConfigParser()
70 list = config.read(self._storage_config_file)
71 if len(list) == 0:
72 self._logger.error("Error: Could not find the config file")
73 exit(1)
74
75 self._auth_to_azure(config)
76
77 def write_file(self, folder: str, filename: str, data: bytes) -> bool:
78 """
79 Write the file to an Azure Container
80 """
81 try:
82 blob_client = BlobClient(
83 account_url=self._azure_account_url,
84 container_name=folder,
85 blob_name=filename,
86 credential=self._azure_creds,
87 )

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected