Как сохранить вывод команды AWS CLI в var на python? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь сохранить команду CLI AWS в переменной python (список). Хитрость в том, что следующий код возвращает желаемый результат, но не сохраняет его в переменной и возвращает пустой список.

import os
bashCommand = 'aws s3api list-buckets --query "Buckets[].Name"'
f = [os.system(bashCommand)]

print(f)

выход:

[
"bucket1",
"bucket2",
"bucket3"
]
[0]

желаемый вывод:

[
"bucket1",
"bucket2",
"bucket3"
]
("bucket1", "bucket2", "bucket3")

1 Ответ

2 голосов
/ 14 июня 2019

Если вы используете Python и хотите перечислить сегменты, было бы лучше использовать AWS SDK для Python, который равен boto3:

import boto3

s3 = boto3.resource('s3')
buckets = [bucket.name for bucket in s3.buckets.all()]

См .: S3 - Boto 3 Docs

Это гораздо разумнее, чем обращаться к CLI AWS (который сам использует boto!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...