Не удается получить снимки шлюза хранилища с помощью API Java

Я пытаюсь получить список снимков с нашего шлюза хранения и поместить их в JTable. Тем не менее, когда я использую API-интерфейс AWS для получения списка снимков, я могу получить только то, что представляется общедоступными снимками, опубликованными Amazon. Когда я устанавливаю DescribeSnapshotsRequest.setOwnerIds() для включения "self", список пуст.

Вот оскорбительный код:

private void createTable() {
        Object[][] data = null;
        String[] columns = new String[]{"Snapshot ID", "Owner ID", "Snapshot Date"};

        DescribeSnapshotsRequest req = new DescribeSnapshotsRequest();
        req.setOwnerIds(Arrays.<String>asList("self"));

        try {
            snapshots = ec2Client.describeSnapshots(req).getSnapshots();

            data = new Object[snapshots.size()][3];

            int i = 0;
            for(Snapshot item : snapshots) {
                data[i][0] = item.getSnapshotId();
                data[i][1] = item.getOwnerId();
                data[i][2] = item.getStartTime();
                i++;
            }
        } catch(Exception e) {
            System.out.println("Invalid Credentials!");
        }

        table = new JTable(data, columns);
        table.setAutoCreateRowSorter(true);
    }

Снимки списка будут пустыми, если я не удалю DescribeSnapshotsRequest или не установлю идентификатор владельца "amazon".

Короче говоря, почему я не могу получить доступ к своим личным снимкам из шлюза хранилища?

1 ответ

Решение

Догадаться. Оказывается, вы должны явно определить конечную точку EC2. Я почему-то пропустил этот шаг.

Вот список конечных точек: http://docs.aws.amazon.com/general/latest/gr/rande.html

AmazonEC2Client.setEndpoint("<Endpoint URL>");
Другие вопросы по тегам