2016-12-01 2 views
0

Когда я использую команду aws s3 ls как на моем компьютере EC2, так и на локальном Macbook, вывод одинаков, он отображает все ведра в S3. aws configure имеет точный идентификатор, секретный ключ, область, формат вывода.`aws s3 ls <bucket-name>` работает на локальной машине, но на EC2 Ошибка NoSuchBucket

Однако, когда я на самом деле пойти посмотреть на содержимое ведра с помощью команды aws s3 ls <bucket-name>, моя локальная машина корректно перечисляет все элементы, в то время как мой EC2 отвечает:

A client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist.

Машина EC2 может четко связываться с учетной записью правильно, но почему она не сможет перечислить содержимое ковша, если моя локальная машина может? Я не вижу никаких разрешений, которые позволяли бы моей машине обращаться к ней, когда EC2 не сможет.

+0

Убедитесь, что вы правильно указали 'bucket-name'. Добавьте '--debug' в команду, чтобы получить дополнительную информацию. – helloV

+0

Ничего себе, это очень странно. Похоже, команда отрубила первые 5 символов, поэтому, когда я меняю имя ведра на «..... bucket-name», он работает. – nicolashahn

+0

Попробуйте обратиться к ведру с 's3: //', например: 'aws s3 ls s3: // my-bucket'. –

ответ

1

Это не полный ответ, но обходной путь. Выходной сигнал при использовании --debug, как и helloV, показал, что команда использовала имя ведра с удалением первых 5 символов. Когда я добавил 5 случайных символов в начало имени ведра (например, , а не bucket-name), он работает и правильно перечисляет контент. Если кто-нибудь подскажет, почему это я хотел бы знать.

Смежные вопросы