MilanM commited on
Commit
b14b0ec
·
verified ·
1 Parent(s): 7a20245

Update stream_files_to_cos.py

Browse files
Files changed (1) hide show
  1. stream_files_to_cos.py +9 -9
stream_files_to_cos.py CHANGED
@@ -165,24 +165,24 @@ def stream_file_to_cos():
165
  session = requests.Session()
166
  response = session.request(http_method, source_url, stream=True)
167
  response.raise_for_status()
168
-
169
  # Extract actual filename from response
170
  filename = extract_filename_from_headers(response)
171
-
172
  # Combine prefix with filename for the full COS key
173
  target_key = f"{prefix}{filename}" if prefix else filename
174
 
 
 
 
 
 
 
 
175
  # Upload file to COS
176
  conf = ibm_boto3.s3.transfer.TransferConfig(
177
- multipart_threshold=1024**2, # 1MB
178
- max_concurrency=100
179
  )
180
-
181
  cos_client.upload_fileobj(
182
- response.raw,
183
- cos_config['bucket_name'],
184
- target_key,
185
- Config=conf
186
  )
187
 
188
  results.append({
 
165
  session = requests.Session()
166
  response = session.request(http_method, source_url, stream=True)
167
  response.raise_for_status()
 
168
  # Extract actual filename from response
169
  filename = extract_filename_from_headers(response)
 
170
  # Combine prefix with filename for the full COS key
171
  target_key = f"{prefix}{filename}" if prefix else filename
172
 
173
+ # Create a BytesIO buffer and write decompressed content
174
+ file_buffer = io.BytesIO()
175
+ for chunk in response.iter_content(chunk_size=8192):
176
+ if chunk:
177
+ file_buffer.write(chunk)
178
+ file_buffer.seek(0) # Reset to beginning for upload
179
+
180
  # Upload file to COS
181
  conf = ibm_boto3.s3.transfer.TransferConfig(
182
+ multipart_threshold=1024**2, max_concurrency=100 # 1MB
 
183
  )
 
184
  cos_client.upload_fileobj(
185
+ file_buffer, cos_config["bucket_name"], target_key, Config=conf
 
 
 
186
  )
187
 
188
  results.append({