Dans le AWS SDK, il répertorie le code rubis de la forme:AWS SDK liste S3 grands répertoires ne
s3 = AWS::S3.new
bucket = s3.buckets[bucket_name]
tree = bucket.as_tree(:prefix => 'myshop/products')
directories = tree.children.select(&:branch?).collect(&:prefix)
échouent erreur: « Impossible de trouver le marqueur dans la liste S3 réponse des objets »
Structure du répertoire
/myshop/products/1474472/original.jpg
/myshop/products/1474472/small.jpg
/myshop/products/1474472/mini.jpg
/myshop/products/1333333/original.jpg
/myshop/products/1333333/small.jpg
/myshop/products/1333333/mini.jpg
...
plus de 100 000 obj
Je veux vérifier que le répertoire (par exemple "1474472") a été créé
mon plan: aws-s3-liste-> rubis array-> trouver dans le tableau (array.include?)
!!! besoin de méthode très rapide - bientôt la fin du monde :)
Je ne suis pas familier avec le SDK Ruby, mais S3 vous permet seulement de lister 1000 objets à la fois, alors la liste de 100 000 objets va entraîner au moins 100 requêtes HTTP. Si vous voulez vérifier l'existence d'un objet particulier, l'envoi d'une requête HEAD pour cet objet est le meilleur moyen. Il semble que vous voulez vérifier qu'un ou plusieurs fichiers correspondent à un préfixe donné, ne pouvez-vous pas simplement adapter votre recherche de préfixe existante pour inclure le nom du sous-répertoire? –
salut, aws ping prendre 288 ms - 0,3 sec х 10000 = 3000sec = 50min, je suis très long. – memoris