python - boto3 ग्राहक NoRegionError: आपको कभी-कभी केवल एक क्षेत्र त्रुटि निर्दिष्ट करनी चाहिए




linux aws-kms (3)

आप स्वयं भी स्क्रिप्ट चर क्षेत्र_नाम पैरामीटर पास करने के बजाय पर्यावरण चर सेट कर सकते हैं

os.environ['aws_default_region'] = 'your_region_name'

केस सेंसिटिविटी मायने रख सकती है।

मेरे पास एक boto3 क्लाइंट है:

boto3.client('kms')

लेकिन यह नई मशीनों पर होता है, वे गतिशील रूप से खुलते और बंद होते हैं।

    if endpoint is None:
        if region_name is None:
            # Raise a more specific error message that will give
            # better guidance to the user what needs to happen.
            raise NoRegionError()

ये क्यों हो रहा है? और समय का ही हिस्सा क्यों?


एक या दूसरे तरीके से आपको यह बताना होगा कि आप किस क्षेत्र में क्लाइंट बनाने की इच्छा रखते हैं। यह region_name रूप में स्पष्ट रूप से region_name पैरामीटर का उपयोग करके किया जा सकता है:

kms = boto3.client('kms', region_name='us-west-2')

या आप अपनी प्रोफ़ाइल में अपने ~/.aws/config फ़ाइल से संबंधित एक डिफ़ॉल्ट क्षेत्र हो सकते हैं:

[default]
region=us-west-2

या आप निम्न के रूप में एक पर्यावरण चर का उपयोग कर सकते हैं:

export AWS_DEFAULT_REGION=us-west-2

लेकिन आपको यह बताने की जरूरत है कि किस क्षेत्र का उपयोग करना है।


os.environ['AWS_DEFAULT_REGION'] = 'your_region_name'

मेरे मामले में संवेदनशीलता मायने रखती है।





aws-kms