Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะสร้างเซสชัน AWS โดยใช้ไลบรารี Boto3 ใน Python ได้อย่างไร


เมื่อผู้ใช้ต้องการใช้บริการของ AWS โดยใช้แลมบ์ดาหรือโค้ดโปรแกรม จำเป็นต้องตั้งค่าเซสชันก่อนเพื่อเข้าถึงบริการของ AWS

เซสชัน AWS อาจเป็นค่าเริ่มต้นและปรับแต่งตามความต้องการ

คำชี้แจงปัญหา − ใช้ไลบรารี Boto3 ใน Python เพื่อสร้างเซสชัน AWS

แนวทาง/อัลกอริทึมในการแก้ปัญหานี้

ขั้นตอนที่ 1 − ในการสร้างเซสชัน AWS ก่อนอื่นให้ตั้งค่าข้อมูลรับรองการตรวจสอบสิทธิ์ ผู้ใช้สามารถค้นหาได้ในคอนโซล IAM หรือสร้างไฟล์ข้อมูลรับรองด้วยตนเอง โดยค่าเริ่มต้น ตำแหน่งจะอยู่ที่ ~/.aws/credentials

ตัวอย่าง

[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
aws_session_token = YOUR_SESSION_TOKEN
region = REGION_NAME

ขั้นตอนที่ 2 − ติดตั้ง Boto3 โดยใช้คำสั่ง - pip install boto3

ขั้นตอนที่ 3 - นำเข้าไลบรารี Boto3

ขั้นตอนที่ 4 − หากสร้างเซสชันด้วยข้อมูลรับรองเริ่มต้น ให้ใช้ Session() โดยไม่มีพารามิเตอร์

ขั้นตอนที่ 5 − หากกำหนดเซสชันเอง ให้ส่งพารามิเตอร์ต่อไปนี้ −

  • aws_access_key_id (สตริง) -- รหัสคีย์การเข้าถึง AWS

  • aws_secret_access_key (สตริง) -- คีย์การเข้าถึงความลับของ AWS

  • aws_session_token (สตริง) -- โทเค็นเซสชันชั่วคราวของ AWS

  • Region_name (สตริง) -- ภูมิภาคเริ่มต้นเมื่อสร้างการเชื่อมต่อใหม่

  • profile_name (สตริง) -- ชื่อของโปรไฟล์ที่จะใช้ หากไม่ระบุ ระบบจะใช้โปรไฟล์เริ่มต้น

ตัวอย่าง

รหัสต่อไปนี้สร้างเซสชัน AWS สำหรับข้อมูลประจำตัวเริ่มต้นและข้อมูลประจำตัวที่กำหนดเอง -

import boto3
# To create default session:
def create_aws_session():
session = boto3.session.Session()
#it creates the default session and can use to connect with any AWS service
   return session
print(create_aws_session())

# To Create customized session:
def create_customized_session(aws_access_key, aws_secret_key, aws_token,
region_name=None,profile_name=None):
   session = boto3.session.Session(aws_access_key_id=aws_access_key,
                                   aws_secret_access_key=aws_secret_key,
                                   aws_session_token = aws_token,
                                   region_name=region_name,
                                   profile_name = profile_name)
   # Here, region_name and profile_name are optional parameters and default value is None
   Print(session)
return session

ผลลัพธ์

#if default region_name is not present or NONE and region_name is not
passed in #credential file/calling parameter
Session(region_name=None)
Session(region_name=None)
#if default region_name is present and region_name is passed in
credential file/calling #parameter
Session(region_name=YOUR_REGION_NAME)
Session(region_name= YOUR_REGION_NAME)