Перечислите идентификаторы моментальных снимков со временем под определенным идентификатором VPC с помощью PowerShell

Нет, вы не можете получить URL-адрес в одном действии, но два:)

Прежде всего, вам, возможно, придется публиковать файл перед загрузкой, потому что нет смысла получать URL-адрес, который никто не может доступ. Вы можете сделать это, установив ACL, как предложил Майкл Астрейко. Вы можете получить URL ресурса, вызвав getResourceUrl или getUrl.

AmazonS3Client s3Client = (AmazonS3Client)AmazonS3ClientBuilder.defaultClient();
s3Client.putObject(new PutObjectRequest("your-bucket", "some-path/some-key.jpg", new File("somePath/someKey.jpg")).withCannedAcl(CannedAccessControlList.PublicRead))
s3Client.getResourceUrl("your-bucket", "some-path/some-key.jpg");

Примечание1: Разница между getResourceUrl и getUrl заключается в том, что getResourceUrl вернет значение null при возникновении исключения.

Примечание2: getUrl метод не определен в интерфейсе AmazonS3. Вы должны отдать объект AmazonS3Client, если используете стандартный строитель.

0
задан Anthony Neace 23 January 2019 в 04:23
поделиться

1 ответ

Снимки зависят от региона, а не от VPC, поэтому вы не можете напрямую перечислить все снимки для определенного VPC.

Если вам нужна такая фильтрация, вы можете пометить каждый снимок с помощью VPC, к которому он «принадлежит» (т.е. VPCID:value-of-VPC-id). А затем используйте эту команду.

aws ec2 describe-snapshots --owner-ids <your-account-id> --filters Name=tag:VPCID,Values=<value-of-VPC-id>

Если вы хотите получить только VPC ID и время, то вы можете улучшить вышеприведенное с помощью параметра query

aws ec2 describe-snapshots --owner-ids <your-account-id> --filters Name=tag:VPCID,Values=<value-of-VPC-id> --query "Snapshots[*].{ID:SnapshotId,Time:StartTime}"
0
ответ дан Matus Dubrava 23 January 2019 в 04:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: