Skip to content

Commit 8efeb68

Browse files
committed
Enhance AzCopy upload process: use SAS token for authentication and improve logging for destination URL
1 parent 402aef4 commit 8efeb68

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

function_app.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -97,31 +97,29 @@ def upload_with_azcopy(local_dir):
9797
logger.info(f"AZCOPY_AUTO_LOGIN_TYPE: {os.environ.get('AZCOPY_AUTO_LOGIN_TYPE')}")
9898
os.environ['AZCOPY_AUTO_LOGIN_TYPE'] = 'MSI'
9999

100-
dest_url = os.environ.get('DZI_UPLOAD_DEST_URL') # No SAS token!
101-
if not dest_url:
102-
logger.error('DZI_UPLOAD_DEST_URL environment variable not set!')
100+
# Use SAS token for AzCopy authentication
101+
dest_url = os.environ.get('DZI_UPLOAD_DEST_URL')
102+
sas_token = os.environ.get('DZI_UPLOAD_SAS_TOKEN')
103+
if not dest_url or not sas_token:
104+
logger.error('DZI_UPLOAD_DEST_URL or DZI_UPLOAD_SAS_TOKEN environment variable not set!')
103105
return
106+
# Append SAS token to destination URL if not already present
107+
if '?' not in dest_url:
108+
dest_url = f"{dest_url}?{sas_token}"
109+
logger.info(f"AzCopy destination URL (with SAS): {dest_url}")
104110
try:
105111
version_result = subprocess.run(["azcopy", "--version"], capture_output=True, text=True, check=True)
106112
logger.info(f"AzCopy version: {version_result.stdout.strip()}")
107-
108-
login_result = subprocess.run(["azcopy", "login", "--identity"], capture_output=True, text=True)
109-
logger.info(f"AzCopy login stdout: {login_result.stdout}")
110-
logger.info(f"AzCopy login stderr: {login_result.stderr}")
111-
if login_result.returncode != 0:
112-
logger.error(f"AzCopy login failed with exit code {login_result.returncode}")
113-
return
114113
except Exception as e:
115-
logger.error(f"AzCopy login with managed identity failed: {e}")
114+
logger.error(f"AzCopy version check failed: {e}")
116115
return
117-
118116
cmd = [
119117
"azcopy", "copy",
120118
local_dir,
121119
dest_url,
122120
"--recursive=true"
123121
]
124-
logger.info(f"AzCopy command: azcopy copy {local_dir} {dest_url} --recursive=true (using managed identity)")
122+
logger.info(f"AzCopy command: azcopy copy {local_dir} {dest_url} --recursive=true (using SAS token)")
125123
result = subprocess.run(cmd, capture_output=True, text=True)
126124
logger.info(f"AzCopy stdout: {result.stdout}")
127125
logger.info(f"AzCopy stderr: {result.stderr}")

0 commit comments

Comments
 (0)