से AWS खाता आईडी प्राप्त करें मेरे पास AWS_ACCESS_KEY_ID और AWS_SECRET_KEY है। ये सक्रिय प्रमाण-पत्र हैं, इसलिए वे एक सक्रिय उपयोगकर्ता से संबंधित हैं, जो एक एडब्ल्यूएस खाते से संबंधित हैं। कैसे, Boto3 का उपयोग करके, क्या मुझे इस एडब्ल्यूएस खाते की आईडी मिलती है?बोटो
Q
बोटो
10
A
उत्तर
18
ACCOUNTID गेट-कॉलर-पहचान एसटीएस फ़ंक्शन से पकड़ा जा सकता है। यह एक "खाता" क्षेत्र देता है:
client = boto3.client("sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key)
account_id = client.get_caller_identity()["Account"]
1
निम्नलिखित समारोह अपने कुंजी युग्म के लिए आप खाता आईडी मिल जाएगा:
import boto3
def get_aws_account_id(access_key, secret_key):
sts = boto3.client(
"sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key,
)
user_arn = sts.get_caller_identity()["Arn"]
return user_arn.split(":")[4]
यह काम करता है क्योंकि उपयोगकर्ता ARN प्रारूप "अर्न: एडब्ल्यूएस: iam :: ACCOUNT_ID: उपयोगकर्ता/उपयोगकर्ता नाम" की है। कोलन द्वारा विभाजित, खाता आईडी चौथी वस्तु (0-अनुक्रमित) है।
2
इस तरह काम करेगा:
import boto3
ACCESS_KEY = 'FOO'
SECRET_KEY = 'BAR'
iam = boto3.resource('iam',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
account_id = iam.CurrentUser().arn.split(':')[4]
print account_id
आप EC2 IAM भूमिकाओं का उपयोग करते हैं, तो आप उपयोग कर सकते/गुप्त कुंजी सामान के सभी को छोड़ सकते हैं और कोड बस हो जाता है:
iam = boto3.resource('iam')
account_id = iam.CurrentUser().arn.split(':')[4]
संबंधित मुद्दे
- 1. बोटो
- 2. बोटो
- 3. बोटो
- 4. एडब्ल्यूएस बोटो और बोटो 3
- 5. पायथन बोटो
- 6. बोटो फ़ाइलों को संशोधित किए बिना बोटो लॉगिंग अक्षम करें
- 7. बोटो एस 3 get_metadata
- 8. बोटो एस 3 एपीआई
- 9. प्रसंस्करण एसक्यूएस कतार बोटो
- 10. पायथन बोटो, बाल्टी
- 11. बोटो एडब्ल्यूएस ग्लेशियर - संग्रह
- 12. ऑटो स्केलिंग समूह में बोटो
- 13. एस 3 ऑब्जेक्ट समाप्ति बोटो
- 14. एस 3 सीएमडी, बोटो और एडब्ल्यूएस सीएलआई
- 15. बोटो एस 3 कनेक्शन कैसे बंद करें?
- 16. अमेज़ॅन एस 3 बोटो - फ़ोल्डर कैसे बनाएं?
- 17. बोटो कनेक्ट_xxx विधि और कनेक्शन पूल
- 18. अमेज़ॅन MWS के लिए बोटो विधि GetLowestPricedOffersForSKU
- 19. बोटो में अनुरोध टाइमआउट (408) त्रुटि को कैसे संभालें?
- 20. बोटो 3, पायथन और त्रुटियों को कैसे संभालना है
- 21. बोटो का उपयोग करके यह बताने के लिए कि ग्लेशियर
- 22. अमेज़ॅन एस 3 बोटो - फ़ोल्डर को कैसे हटाएं?
- 23. त्रुटि "बोटो के एस 3 बाइंडिंग लोड नहीं कर सका।"
- 24. मैं बोटो से उपयोगी निदान कैसे प्राप्त करूं?
- 25. डीजेगो, हेरोकू, बोटो: Google क्लाउड स्टोरेज पर सीधे फ़ाइल अपलोड
- 26. एक हैश कुंजी के साथ क्वेरी डायनेमोडीबी और बोटो 3
- 27. बोटो एस 3 fansplib फेंक देता है। इनकंपलेट कभी-कभी
- 28. मैं पाइथन के लिए विंडोज़ पर बोटो लाइब्रेरी कैसे स्थापित कर सकता हूं?
- 29. एस 3 बोटो और सिगवी 4 का उपयोग कर - गायब होस्ट पैरामीटर
- 30. पायथन बोटो डायनेमोडब रेंज कुंजियों पर छोटे रिकॉर्ड सेट पुनर्प्राप्ति के लिए बहुत धीमी प्रदर्शन
कुछ तरीकों यहाँ उल्लेख https://gist.github.com/gene1wood/6d4974b7503336d642c9 – Montaro
की [boto3 में मौजूदा उपयोगकर्ता खाते-आईडी हो रही] संभावित डुप्लिकेट (https://stackoverflow.com/questions/33332050/getting-the-current-user-account-id-in-boto3) –
@MarnixKlooster यह प्रश्न Google पर पहली बार "बोटो खाता आईडी" खोज के लिए आता है। शायद दूसरे प्रश्न को डुप्लिकेट के रूप में चिह्नित करें। – Zags