Điểm:1

Không thể liệt kê tất cả các hình ảnh

lá cờ cn

Tôi đang cố liệt kê tất cả các hình ảnh có tên Ansible*.

Nếu tôi có thể kéo nó ra, tôi có thể sử dụng nó để làm sạch AMI của mình được tạo trong quá trình vá lỗi. tôi đang dùng thử qua Tài liệu tự động hóa SSM. dưới đây là mã tôi có.

mô tả: Tài liệu này là để loại bỏ AMI
lược đồPhiên bản: '0,3'
giả địnhRole: '{{Tự động hóaAssumeRole}}'
Các bước chính:
  - tên: getImageId
    hành động: 'aws:executeAwsApi'
    đầu vào:
      Dịch vụ: ec2
      Api: Mô tả hình ảnh
      Bộ lọc:
        - Tên tên'
          giá trị:
            - 'Ansible*'
    đầu ra:
      - Tên: ImageId
        Bộ chọn: '$.Images[0].ImageId'
        Loại: Chuỗi

ở đây, Selector: '$.Images[0].ImageId' chỉ cung cấp id hình ảnh đầu tiên của danh sách. tôi có thể lấy nó nếu tôi có thể cung cấp thứ gì đó như Selector: '$.Images[*].ImageId' nhưng điều này không được tài liệu SSM hỗ trợ.

ai đó có thể xin vui lòng giúp tôi về điều này. tất cả những gì tôi muốn là, tôi muốn liệt kê tất cả các hình ảnh có ID AMI của nó.

Tái bút: tôi có tập lệnh shell và python thực hiện công việc. nhưng tôi đang tìm tài liệu AWS SSM Automation do các hạn chế về vai trò và chính sách

Điểm:0
lá cờ cn

Từ một số thử nghiệm nhanh, tôi không chắc bạn có thể.

Tuy nhiên, bạn có thể thực hiện việc này trên CLI, vì vậy có lẽ bạn có thể sử dụng boto3 thư viện và thực hiện dưới dạng tập lệnh Python thông qua thực thiScript tự động hóa?

Lệnh CLI hoạt động:

aws ec2 description-images --owners amazon --filters "Name=name,Values=amzn*" --query 'Images[*].Name' --output json

Cập nhật:

Đây là tài liệu tự động hóa chạy tập lệnh python:

mô tả: Nhận tất cả các AMI do Amazon sở hữu.
lược đồPhiên bản: '0,3'
giả địnhRole: '{{Tự động hóaAssumeRole}}'
Các bước chính:
  - tên: GetAMI
    hành động: 'aws:executeScript'
    đầu vào:
      Thời gian chạy: python3.6
      Trình xử lý: script_handler
      Tập lệnh: |-
        nhập boto3
        nhập json
        def script_handler(sự kiện, ngữ cảnh):
          ec2_client = boto3.client('ec2', region_name='eu-west-2')
          hình ảnh = ec2_client.describe_images(Owners=['amazon'],Filters=[{'Name':'name','Values':['amzn*']}])
          bạn = []
          cho hình ảnh trong hình ảnh ['Hình ảnh']:
            amis.append(hình ảnh['ImageId'])
          đầu ra = {"AMI": amis[:10]}
          đầu ra trở lại
    mô tả: nhận 10 AMI Amazon đầu tiên bằng cách sử dụng boto3
    đầu ra:
      - Bộ chọn: $.Payload.AMI
        Tên: AMI
        Loại: Danh sách chuỗi
    thời gian chờGiây: 120

Đảm bảo thay đổi những thứ như vùng, chuỗi tìm kiếm, v.v.

Raj R avatar
lá cờ cn
vâng, tôi có tập lệnh shell và python thực hiện công việc. nhưng tôi đang tìm tài liệu AWS SSM Automation do các hạn chế về vai trò và chính sách
lá cờ cn
Bạn có thể tạo tài liệu Tự động hóa chạy tập lệnh trong python. Đây là tùy chọn đầu tiên cho "Loại hành động" trong chế độ xem Trình tạo hoặc `aws:executeScript` trong chế độ xem trình chỉnh sửa.
lá cờ cn
Không, nó đang chạy trong AWS và sẽ sử dụng vai trò mà bạn chỉ định tự động hóa khi bạn thực thi nó.
Raj R avatar
lá cờ cn
botocore.Exceptions.NoCredentialsError: Không thể định vị thông tin xác thực NoCredentialsError - Không thể định vị thông tin xác thực đây là lỗi tôi đang nhận được
lá cờ cn
Thay thế giá trị cho `assumeRole` bằng ARN của vai trò tự động hóa của bạn từ IAM.
Raj R avatar
lá cờ cn
cảm ơn nhiều. nó hoạt động. tôi đã thử điều này trong một tuần. tất cả đều không thành công do vai trò IAM này. bây giờ tất cả đã được giải tỏa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.