2017-01-10 18 views
9

द्वारा खोजें हमारे पास एडब्ल्यूएस एस 3 पर नई Aws एसडीके एपीआई के साथ हमारी बाल्टी है। हमने टैग के साथ कई फाइलें और फ़ोल्डर्स अपलोड और टैग किए।Aws S3 फ़िल्टर। टैग

हम कुंजी-मूल्य टैग पर फ़िल्टर कैसे कर सकते हैं, या उनमें से केवल एक ही? मैं सभी ऑब्जेक्ट्स को कुंजी = "temp", या key = "temp" और value = "lol" के साथ ढूंढना चाहता हूं।

धन्यवाद!

+0

मुझे लगता है कि यह संभव नहीं है '(मैंने इसे पीएस 1 स्क्रिप्ट में गेट-एस 3 ऑब्जेक्ट के साथ सभी ऑब्जेक्ट्स को पुनर्प्राप्त किया, फिर प्रत्येक एक के लिए Get-S3ObjectTagSet और फिल्टर परिणाम (($ टैग | कहां ऑब्जेक्ट {$ _। Key -eq 'toDelete'})। Value -eq 'y')। मैं इसे पीएस 4.0 के साथ कोशिश कर रहा हूं, मुझे नहीं पता कि आधुनिक संस्करणों में गेट-एस 3 ऑब्जेक्ट का परिणाम पाइपलाइन किया जा सकता है – corretge

उत्तर

1

मैं भी आशा व्यक्त की कि एडब्ल्यूएस अंत में समर्थन "टैग के आधार पर खोज फ़ाइलें" क्योंकि है कि जैसे जैसे संभावनाएं बनाने के हैं जाएगा टैग्स में संग्रहीत नाम, विवरण, स्थान के साथ एक फोटो स्टोरेज है इसलिए मुझे एक अलग डेटाबेस की आवश्यकता नहीं होगी।

लेकिन जाहिर है कि एडब्ल्यूएस स्पष्ट रूप से इसका समर्थन नहीं कर रहा है, और शायद ऐसा कभी नहीं करेगा। उनके storage service white paper से उद्धरण:

अमेज़ॅन एस 3 सभी भंडारण स्थितियों के अनुरूप नहीं है। [...] कुछ भंडारण की आवश्यकता है जिसके लिए आपको अन्य एडब्ल्यूएस स्टोरेज विकल्पों पर विचार करना चाहिए [...]

अमेज़ॅन एस 3 विशिष्ट वस्तुओं को पुनर्प्राप्त करने के लिए क्वेरी क्षमताओं की पेशकश नहीं करता है। जब आप अमेज़ॅन एस 3 का उपयोग करते हैं तो आपको उन फ़ाइलों के लिए सटीक बाल्टी नाम और कुंजी जानना होगा जिन्हें आप सेवा से पुनर्प्राप्त करना चाहते हैं। अमेज़ॅन एस 3 को डेटाबेस या सर्च इंजन के रूप में इस्तेमाल नहीं किया जा सकता है।

इसके बजाय, आप अमेज़ॅन एस 3 बाल्टी और ऑब्जेक्ट्स के बारे में मेटाडेटा को इंडेक्स और क्वेरी करने के लिए अमेज़ॅन डायनेमो डीबी, अमेज़ॅन क्लाउडशर्च, या अमेज़ॅन रिलेशनल डाटाबेस सर्विस (अमेज़ॅन आरडीएस) के साथ अमेज़ॅन एस 3 को जोड़ सकते हैं।

एडब्ल्यूएस इसके बजाय डायनेमो डीबी, आरडीएस या क्लाउडशर्च का उपयोग करने का सुझाव देता है।

-3

टैगिंग एक नई सुविधा है जो दिसंबर 2016 में आई थी। यह सुविधा अभी उपलब्ध नहीं है।

हालांकि ऐसा नहीं लगता है कि आप अपनी बाल्टी में आइटम ढूंढ सकते हैं जिसमें टैग है, आप क्या कर सकते हैं getObject API का उपयोग करें और एक टैग प्रदान करें। यदि ऑब्जेक्ट में टैग नहीं है (या टैग के आधार पर है), तो आप ऑब्जेक्ट नहीं प्राप्त करेंगे।

RESTObjectGET डॉक्स में if-match और if-None-match अनुरोध हेडर देखें। यहाँ

प्रलेखन

देखें: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html http://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html

+8

वे शीर्षलेख फ़िल्टरिंग के लिए हैं ईटीएजी जो वस्तु टैग के समान नहीं है: 'ऑब्जेक्ट को केवल तभी लौटाएं जब उसका इकाई टैग (ईटीएजी) एक निर्दिष्ट जैसा ही है, अन्यथा, 412 (पूर्व शर्त विफल) लौटाएं। – Eloff