Score:1

ไม่สามารถแสดงรายการรูปภาพทั้งหมดได้

ธง cn

ฉันกำลังพยายามแสดงรายการรูปภาพทั้งหมดที่มีชื่อ Ansible*

ถ้าฉันทำได้ ฉันสามารถใช้มันเพื่อล้าง AMI ของฉันที่สร้างขึ้นระหว่างกิจกรรมการแพตช์ ฉันกำลังลองใช้ผ่าน SSM Automation Document ด้านล่างเป็นรหัสที่ฉันมี

คำอธิบาย: เอกสารนี้เป็นการลบ AMI
เวอร์ชันสคีมา: '0.3'
บทบาทสมมติ: '{{ AutomationAssumeRole }}'
ขั้นตอนหลัก:
  - ชื่อ: getImageId
    การกระทำ: 'aws:executeAwsApi'
    อินพุต:
      บริการ: ec2
      Api: อธิบายรูปภาพ
      ตัวกรอง:
        - ชื่อ: 'ชื่อ'
          ค่า:
            - 'อันซิเบิล*'
    ผลลัพธ์:
      - ชื่อ: ImageId
        ตัวเลือก: '$.Images[0].ImageId'
        ประเภท: สตริง

ที่นี่ Selector: '$.Images[0].ImageId' ให้เฉพาะรหัสภาพที่ 1 ของรายการเท่านั้น ฉันสามารถรับได้ถ้าฉันสามารถให้บางอย่างเช่น Selector: '$.Images[*].ImageId' แต่เอกสาร SSM ไม่รองรับสิ่งนี้

ใครก็ได้โปรดช่วยฉันในเรื่องนี้ สิ่งที่ฉันต้องการคือฉันต้องการแสดงรายการภาพทั้งหมดด้วย AMI ID

PS: ฉันมีเชลล์และสคริปต์ไพ ธ อนซึ่งทำงานได้ แต่ฉันกำลังมองหาเอกสาร AWS SSM Automation เนื่องจากบทบาทและข้อจำกัดด้านนโยบาย

Score:0
ธง cn

จากการทดสอบอย่างรวดเร็ว ฉันไม่แน่ใจว่าคุณทำได้

คุณสามารถทำได้ใน CLI ดังนั้นบางทีคุณอาจใช้ โบโต3 ไลบรารีและทำเป็นสคริปต์ Python ผ่านทาง เรียกใช้สคริปต์ ระบบอัตโนมัติ?

คำสั่ง CLI ที่ใช้งานได้:

aws ec2 อธิบายรูปภาพ --owners amazon --ตัวกรอง "ชื่อ=ชื่อ,ค่า=amzn*" --แบบสอบถาม 'รูปภาพ[*].ชื่อ' --output json

อัปเดต:

นี่คือเอกสารการทำงานอัตโนมัติที่รันสคริปต์หลาม:

คำอธิบาย: รับ AMI ที่ Amazon เป็นเจ้าของทั้งหมด
เวอร์ชันสคีมา: '0.3'
บทบาทสมมติ: '{{ AutomationAssumeRole }}'
ขั้นตอนหลัก:
  - ชื่อ: GetAMI
    การกระทำ: 'aws:executeScript'
    อินพุต:
      รันไทม์: python3.6
      ตัวจัดการ: script_handler
      สคริปต์: |-
        นำเข้า boto3
        นำเข้า json
        def script_handler (เหตุการณ์ บริบท):
          ec2_client = boto3.client('ec2', region_name='eu-west-2')
          รูปภาพ = ec2_client.describe_images(เจ้าของ=['amazon'],ตัวกรอง=[{'ชื่อ':'ชื่อ','ค่า':['amzn*']}])
          อามิส = []
          สำหรับรูปภาพในรูปภาพ['รูปภาพ']:
            amis.append (รูปภาพ ['ImageId'])
          เอาต์พุต = {"AMI": amis[:10]}
          ส่งคืนเอาต์พุต
    คำอธิบาย: รับ Amazon AMI 10 รายการแรกโดยใช้ boto3
    ผลลัพธ์:
      - ตัวเลือก: $.Payload.AMI
        ชื่อ: AMI
        ประเภท: รายการสตริง
    หมดเวลาวินาที: 120

อย่าลืมเปลี่ยนสิ่งต่างๆ เช่น ภูมิภาค สตริงการค้นหา ฯลฯ

Raj R avatar
cn flag
ใช่ ฉันมีเชลล์และสคริปต์หลามซึ่งทำงาน แต่ฉันกำลังมองหาเอกสาร AWS SSM Automation เนื่องจากบทบาทและข้อจำกัดด้านนโยบาย
cn flag
คุณสามารถสร้างเอกสารการทำงานอัตโนมัติที่เรียกใช้สคริปต์ในไพทอน เป็นตัวเลือกแรกสำหรับ "Action Type" ในมุมมอง Builder หรือ `aws:executeScript` ในมุมมองตัวแก้ไข
cn flag
ไม่ มันทำงานภายใน AWS และจะใช้บทบาทที่คุณกำหนดให้การทำงานอัตโนมัติเมื่อคุณดำเนินการ
Raj R avatar
cn flag
botocore.exceptions.NoCredentialsError: ไม่พบข้อมูลรับรอง NoCredentialsError - ไม่พบข้อมูลรับรอง นี่คือข้อผิดพลาดที่ฉันได้รับ
cn flag
แทนที่ค่าสำหรับ `assumeRole` ด้วย ARN ของบทบาทการทำงานอัตโนมัติของคุณจาก IAM
Raj R avatar
cn flag
ขอบคุณมาก. มันได้ผล. ฉันพยายามนี้เป็นเวลาหนึ่งสัปดาห์ ทั้งหมดล้มเหลวเนื่องจากบทบาท IAM นี้ ตอนนี้เคลียร์หมดแล้ว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา