2016-05-12 7 views
0

私は特定の条件を満たすオブジェクトのリストを返すためにsoftlayer-object-storage-pythonに従った。SoftlayerオブジェクトストレージPython APIの検索

このコードは、単に関係なく、私は私だけicm10restapi-qa.zipで始まるものを取り戻すことを期待する検索

sl_storage = object_storage.get_client(
    username = environment['slos_username'], 
    password = environment['api_key'], 
    auth_url = environment['auth_url'] 
) 

# get container 
sl_container = sl_storage[environment['object_container']] 

# get list, the search function doesn't actually work... 
containers = sl_container.search("icm10restapi-qa.zip.*") 

に入れて何を私のコンテナ内のすべてのものを返さないように思われます。

私も^=icm10restapi-qa.zipを使ってみましたが、運はありませんでした。方法の見直し

答えて

1

、それはあなたが希望としてオブジェクトをフィルタリングすることはできないようです:

https://github.com/softlayer/softlayer-object-storage-python/blob/master/object_storage/client.py#L147

API Operations for Search Services

私の不便のために謝罪、私はこれらをフィルタリングしてみてくださいすることをお勧めしますあなたのコードで。

このスクリプトは

import object_storage 
import pprint 

# Declare username, apikey and datacenter 
USERNAME = 'set me' 
API_KEY = 'set me' 
DATACENTER = 'https://dal05.objectstorage.softlayer.net/auth/v1.0/' 
# Creating object storage connection 
sl_storage = object_storage.get_httplib2_client(USERNAME, API_KEY, auth_url=DATACENTER) 
# Declare name to filter 
name = 'icm10restapi-qa.zip' 

# Filtering 
containers = sl_storage.search(name) 
for container in containers['results']: 
    if container.__dict__['name'].startswith(name): 
     print(container) 
+0

はああOK、細かいthatsのように特定の文字列始まる名前を使用してオブジェクトをフィルタリングするのに役立ちます更新しました。検索は何ですか? – kyl

+0

私の答えの "更新された"セクションを参照してください。フィルタリングするのに役立つスクリプトを添付しました –

+0

こんにちは、私は似たようなものを使っていましたが、すべてが時々。 – kyl

関連する問題