Как получить список файлов в IBM COS Bucket с помощью Watson Studio

Я успешно использовал killableprocess в Windows, Linux и Mac. Если вы используете Cygwin Python, вам понадобится версия killableprocess OSAF, потому что иначе родные процессы Windows не будут убиты.

1
задан J Scott 15 January 2019 в 22:03
поделиться

3 ответа

Вероятно, есть более питонский способ написать это, но вот код, который я написал, используя project-lib , согласно ответу, предоставленному @Greg Filla

files = []  # List to hold data file names

# Get list of all file names in storage bucket
all_files = project.get_files()  # returns list of dictionaries

# Create list of file names to load based on prefix
for f in all_files:
    if f['name'][:3] == DataFile_Prefix: 
        files.append(f['name'])

print ("There are " + str(len(files)) + " data files in the storage bucket.")
0
ответ дан J Scott 15 January 2019 в 22:03
поделиться

Учетные данные в IBM Cloud Object Storage (COS) находятся на уровне экземпляра COS, а не на уровне отдельных файлов. Каждый экземпляр COS может иметь любое количество сегментов, в каждом из которых содержатся файлы. Вы можете получить учетные данные для экземпляра COS из консоли Bluemix.

https://console.bluemix.net/docs/services/cloud-object-storage/iam/service-credentials.html#service-credentials

. пакет python для доступа к файлам. https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

import boto3
s3c = boto3.client('s3', endpoint_url='XXXXXXXXX',aws_access_key_id='XXXXXXXXXXX',aws_secret_access_key='XXXXXXXXXX')
s3.list_objects(Bucket=bucket_name, Prefix=file_path)
s3c.download_file(Filename=filename, Bucket=bucket, Key=objectname)
s3c.upload_file(Filename=filename, Bucket=bucket, Key=objectname)
0
ответ дан Manoj Singh 15 January 2019 в 22:03
поделиться

Облако Watson Studio предоставляет вспомогательную библиотеку с именем project-lib для работы с объектами в вашем экземпляре Cloud Object Storage. Посмотрите эту документацию по использованию пакета в Python: https://dataplatform.cloud.ibm.com/docs/content/analyze-data/project-lib-python.html

[ 117] Для вашего конкретного вопроса, get_files() должен делать то, что вам нужно. Это вернет список всех файлов в вашей корзине, затем вы сможете выполнить сопоставление с образцом, чтобы оставить только то, что вам нужно. Основываясь на этом отфильтрованном списке, вы можете выполнить итерацию и использовать get_file(file_name) для каждого file_name в вашем списке.

Чтобы создать «папку» в вашей корзине, вы должны следовать соглашению об именовании файлов для создания «псевдо папки». Например, если вы хотите создать папку ресурсов «data», вам следует добавить префикс имен файлов для объектов, принадлежащих этой папке, с data/.

0
ответ дан Greg Filla 15 January 2019 в 22:03
поделиться
Другие вопросы по тегам:

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