วิธีการเรียกรายการแฟ้มทั้งหมดและ subdirectories ในอีก Color ข้อมูลของทะเลสาบ gen2 ห้องเก็บของบัญชีผู้ใช้ซึ่งอยู่ในการสมัครสมาชิกต่างกัน

0

คำถาม

ฉันกำลังพยายามที่จะทำให้แฟ้มทั้งหมดออกและพวกเขา subdirectories จากตู้คอนเทนเนอร์อยู่ใน Color ห้องเก็บของบัญชีผู้ใช้ในมุมมองที่ต่างออกเป็นสมาชิกและธุรกิจสำคัญที่สุคือต้องใช้ abfss ที่อยู่ url ได้ abfss://@.dfs.core.windows.net//. ฉันพยายามที่จะใช้นำเข้าไฟ config สำหรับสมัครสมาชิกและใช้ด้านล่างรหัสคืนแฟ้มรายการ ยังไม่ล้มเหลว

import os
from fnmatch import fnmatch
root_list="abfss://[email protected]/staging/"
files_list = []
pattern = "*.*"
print(pattern)
for path, subdirs, files in os.walk(root_list):
  for name in files:
    if fnmatch(name.upper(), pattern.upper()):
      files_list.append(path+"/"+name)

นี่รอยนิ้วมือ"[]"รายการว่างเปล่า.

1

คำตอบที่ดีที่สุด

0

คุณสามารถใช้ด้านล่างรหัสสำหรับเรื่องใช้คดี

from pyspark.sql.functions import col
from azure.storage.blob import BlockBlobService
from datetime import datetime
import os.path

account_name='accountname'
container_name ='container_name'
second_conatainer_name ='data'
account_key = 'storage-account-key'
prefix_val = second_conatainer_name+'/'

block_blob_service = BlockBlobService(account_name='%s'%(account_name), account_key='%s'%(account_key))

#block_blob_service.create_container(container_name)
generator = block_blob_service.list_blobs(container_name,prefix="%s"%(prefix_val))
report_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')


Target_file = "/target2/%s.csv" % (container_name)
print(Target_file)

Target_file = open("%s"%(Target_file), 'w')

for blob in generator:
    length = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name)
    last_modified = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.last_modified
    file_size = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.content_length
    blob_type = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.blob_type
    creation_time = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.blob_tier_change_time
    if file_size != 0:
       line = account_name+'|'+container_name+'|'+blob.name+'|'+ str(file_size) +'|'+str(last_modified)[:10]+'|'
       print(line)
       Target_file.write(line+'\n')
2021-11-23 15:09:53

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่