Как мне получить идентификатор моей среды elasticbeanstalk (EBS) в терминале?
Эта команда возвращает объект в терминале с некоторыми свойствами для среды:
aws elasticbeanstalk describe-environments --environment-names my-env
Можно ли получить только EnvironmentId из этого объекта в терминале?
{
"Environments": [
{
"ApplicationName": "xxxx-xxxx-xxxx-xxxxx",
"EnvironmentName": "my-env",
"VersionLabel": "Initial Version",
"Status": "Ready",
"EnvironmentArn": "arn:aws:elasticbeanstalk:eu-central-1:xxxxxxx:environment/xxxx-xxxxx-xxxx-xxxx/my-env",
"EnvironmentLinks": [],
"PlatformArn": "arn:aws:elasticbeanstalk:eu-central-1::platform/Multi-container Docker running on 64bit Amazon Linux/2.11.0",
"EndpointURL": "awseb-e-2-xxxxx-xxxxxx-xxxxx.eu-central-1.elb.amazonaws.com",
"SolutionStackName": "64bit Amazon Linux 2018.03 v2.11.0 running Multi-container Docker 18.03.1-ce (Generic)",
"EnvironmentId": "e-1234567",
"CNAME": "my-env.elasticbeanstalk.com",
"AbortableOperationInProgress": false,
"Tier": {
"Version": "1.0",
"Type": "Standard",
"Name": "WebServer"
},
"Health": "Green",
"DateUpdated": "2018-07-12T06:10:17.056Z",
"DateCreated": "2018-07-11T20:03:26.970Z"
}
]
}
В этом случае результат, который я ожидаю в моем терминале, будет e-1234567.





Если вы хотите использовать для этого AWS CLI, вам потребуется отфильтровать вывод aws elasticbeanstalk describe-environments --environment-names my-env с помощью такого инструмента, как grep. Одно возможное (ни в коем случае не оптимальное / краткое) решение:
aws elasticbeanstalk describe-environments --environment-names my-env | grep EnvironmentId | grep -Eo "e-[A-Za-z0-9_]+"
Лучшее решение - использовать AWS SDK, например boto3 (Python AWS SDK).
import boto3
elasticbeanstalk = boto3.client(
'elasticbeanstalk',
region_name='us-west-2'
)
response = elasticbeanstalk.describe_environments(
EnvironmentNames=['my-env']
)
if response['Environments']:
print(response['Environments'][0]['EnvironmentId'])
Пакеты SDK AWS доступны на других популярных языках, таких как Go, Java, Ruby, JavaScript, PHP.