भेजा पोस्ट का उपयोग कर अमेज़न S3 फ़ाइल का MD5 चेकसम पाने के लिए: Amazon S3 & Checksum, How to encode md5 sum into base64 in BASHकैसे प्रोग्राम के रूप में Boto
मैं सीमित पहुंच के साथ S3 बाल्टी से एक टार फ़ाइल डाउनलोड करने के लिए किया है। बाद मैं मैं S3
में मेटाडाटा के रूप में उपस्थित डेटामैं वर्तमान में एक का उपयोग का MD5-चेक योग के खिलाफ डाउनलोड की गई फ़ाइल का md5 जांच राशि की जांच करने के लिए है डाउनलोड
[अधिकतर पहुँच अनुमतियाँ डाउनलोड करने के लिए केवल दिया] सामग्री शीर्षलेख के "x-amz-meta-md5" मैन्युअल रूप से नोट करने के लिए S3 फ़ाइल ब्राउज़र और डाउनलोड की गई फ़ाइल के गणना एमडी 5 के विरुद्ध उस मान को मान्य करें।
मैं अगर वहाँ Boto का उपयोग कर के रूप में मेटाडाटा के रूप में उल्लेख किया है एक S3 फ़ाइल का MD5 हैश मान कब्जा करने के लिए कार्यक्रम संबंधी तरीका है पता करना चाहते हैं।
from boto.s3.connection import S3Connection
conn = S3Connection(access_key, secret_key)
bucket=conn.get_bucket("test-bucket")
rs_keys = bucket.get_all_keys()
for key_val in rs_keys:
print key_val, key_val.**HOW_TO_GET_MD5_FROM_METADATA(?)**
अगर मेरी समझ गलत है तो कृपया सही करें। मैं एक तरह से हैडर डेटा पर कब्जा करने के प्रोग्राम के रूप में
सुझाव के लिए धन्यवाद। एटाग मान गणना की गई एमडी 5 चेक योग से मेल नहीं खाता है। मैंने निर्दिष्ट पदों में भी देखा कि ईटीएजी एमडी 5 का उचित मूल्य नहीं है। "x-amz-meta-md5" मेरे S3 फ़ाइल ब्राउज़र में कुंजी है जो मुझे MD5 मान देता है। लेकिन, यह कुंजी प्रोग्रामेटिक रूप से प्राप्त होने के लिए मेटाडेटा या सामग्री शीर्षकों में उपलब्ध नहीं है। – user1652054
'' etag'' विशेषता प्रपत्र '' "797cc49509a9df16481fac4fae144e0a" '' '' जबकि md5'' विशेषता प्राप्त होगी '' 797cc49509a9df16481fac4fae144e0a'' का हो जाएगा। 'Etag'' में संलग्न डबल-कोट्स पर ध्यान दें। मूल्यों की तुलना करते समय आपको इसे ध्यान में रखना होगा। 'X-amz-meta-md5'' कुंजी मानक S3 मेटाडेटा मान नहीं है बल्कि एक कस्टम है। शायद एस 3 फाइल ब्राउज़र द्वारा जोड़ा गया है? – garnaat
एक अन्य टिप्पणी। मैंने बोटो स्रोत कोड की समीक्षा की और पुष्टि की कि फ़ाइल डाउनलोड करते समय गणना की गई '' md5'' के साथ स्वचालित रूप से '' etag'' शीर्षलेख के मान को चेक करता है। यदि वे मेल नहीं खाते हैं तो यह 'S3DataError' अपवाद बढ़ाएगा। – garnaat