@@ -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