Используйте Python для создания нескольких контейнеров с определенным содержимым

Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.

-1
задан JassiL 17 March 2019 в 19:50
поделиться

1 ответ

Вот мой пример кода для реализации ваших потребностей, и он работает на моем контейнере.

from azure.storage.blob.baseblobservice import BaseBlobService

account_name = '<your account name>'
account_key = '<your account key>'
container_name = '<the source container name>'

blob_service = BaseBlobService(
    account_name=account_name,
    account_key=account_key
)

blobs = blob_service.list_blobs(container_name)

# The target container index starts with 1
container_index = 1
# The blob number in new container, such as 3 in my testing 
num_per_container = 3
count = 0
# The prefix of new container name
prefix_of_new_container = 'imageset'
flag_of_new_container = False

for blob in blobs:
    if flag_of_new_container == False:
        flag_of_new_container = blob_service.create_container("%s%d" % (prefix_of_new_container, container_index))
    print(blob.name, "%s%d" % (prefix_of_new_container,container_index))
    blob_service.copy_blob("%s%d" % (prefix_of_new_container, container_index), blob.name, "https://%s.blob.core.windows.net/%s/%s" % (account_name, container_name, blob.name))
    count += 1
    if count == num_per_container:
        container_index += 1
        count = 0
        flag_of_new_container = False

Примечание: я использую только BaseBlobService, потому что этого достаточно для ваших нужд, даже для AppendBlob или PageBlob. Также вы можете использовать BlockBlobService вместо него.

0
ответ дан Peter Pan 17 March 2019 в 19:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: