मैं s3.upload_file(filename, bucket, key, Callback=callback, Config=TransferConfig(use_threads=False)) के साथ फाइल अपलोड करने के लिए boto3.client('s3') का उपयोग कर रहा हूं और मेरी .aws/config फाइल में मेरे पास s3 = max_concurrent_requests = 5 है

क्या मेरे प्रोग्राम में max_concurrent_requests को हार्ड कोडित करने का कोई तरीका है?

0
Owen 11 जुलाई 2020, 00:18
किस सिरे पर? आप अपने प्रोग्राम में जो कुछ भी चाहते हैं उसे हमेशा हार्ड कोड कर सकते हैं। क्या आप वास्तव में पूछ रहे हैं कि कॉन्फ़िगरेशन से मान पुनर्प्राप्त करना संभव है या नहीं?
 – 
Deadron
11 जुलाई 2020, 00:30
मैं मूल रूप से .aws/config फ़ाइल का उपयोग बिल्कुल नहीं करना चाहता। हालांकि मैं इसे अपने कोड में डालने का उचित तरीका नहीं समझ सकता। अगर मैं इसे `boto3.client("s3", max_concurrent_requests = 5) में डालता हूं तो यह मेरे प्रोग्राम को क्रैश कर देता है।
 – 
Owen
11 जुलाई 2020, 00:34

2 जवाब

यदि आप पुस्तकालय पर प्रलेखन को देखते हैं तो आपके कार्यक्रम के भीतर से विन्यास प्रदान करने का विकल्प है। https://boto3.amazonaws.com/v1/documentation/ api/latest/guide/configuration.html

डॉक्स . से एक उदाहरण

my_config = Config(
    region_name = 'us-west-2',
    signature_version = 'v4',
    retries = {
        'max_attempts': 10,
        'mode': 'standard'
    }
)

client = boto3.client('kinesis', config=my_config)
0
Deadron 11 जुलाई 2020, 00:37

max_concurrent_requests केवल एडब्ल्यूएस सीएलआई के लिए समर्थित है। आप इसका लाभ उठाने के लिए एक पायथन लिपि से एक कमांड खोल सकते हैं। साथ ही, आप इसे कमांड लाइन के माध्यम से भी सेट कर सकते हैं: aws configure set s3 "max_concurrent_requests = 5"। मैंने परीक्षण नहीं किया है, लेकिन मैं वहां से शुरू करूंगा।

यहाँ पर एक ब्लॉग है कि कैसे अजगर से शेल कमांड निष्पादित करें: https://janakiev.com/blog /पायथन-शेल-कमांड/

0
peter n 11 जुलाई 2020, 00:51
साइड नोट: क्या यह लैब पिछले साल रीइन्वेंट में थी: github.com/aws -नमूने/….. हर सेकंड के लायक, मैं प्रदर्शन लाभ से बहुत प्रभावित था।
 – 
peter n
11 जुलाई 2020, 01:03