Команда Curl для загрузки объекта Swift не удалась

Я хотел бы загрузить файл из Swift (Openstack) с помощью curl. Я использовал следующую команду: curl -i http://hostname:5000/v2/container_name/filename -X GET -H "X-Auth-Token:token_value" -o "response.txt"

Где: response.txt: файл для хранения результата curl

Я использовал версию 2 аутентификации.

Получил в ответ что "Ресурс не найден". Вы можете увидеть полное сообщение на следующем изображении.

введите здесь описание изображения URL правильный? Я получил токен, выполнив команду swift stat -v. Это правильный жетон?

Спасибо


person Amelie    schedule 25.11.2016    source источник


Ответы (1)


По порту (5000) и вашему сообщению об ошибке вы указываете curl на Keystone вместо Swift.

Какой тип установки у вас есть? Я думаю, вероятно, Swift работает на одном из этих портов: 8081, 8080 или 80.

Я только что понял, что с вашим URL что-то не так. Это должно быть что-то вроде:

http://hostname:8080/v1/AUTH_ACCOUNTID(или NAME)/container_name/filename

person Nelson Marcos    schedule 25.11.2016
comment
Когда я переключил порт на 8080, я получил следующую ошибку: http 1.1 401 unautorized, запрос, который вы сделали, требует аутентификации - person Amelie; 25.11.2016
comment
Но я использую аутентификацию с помощью keystone (не tempauth) - person Amelie; 25.11.2016
comment
При аутентификации с помощью keystone отображаются 3 URL-адреса: общедоступный URL-адрес, внутренний URL-адрес и URL-адрес администратора. Вы должны использовать общедоступный URL. - person Nelson Marcos; 25.11.2016
comment
команда swift stat -v дает URL-адрес хранилища, учетную запись и токен аутентификации. Я использовал эту информацию для команды curl. - person Amelie; 25.11.2016
comment
Можете ли вы вставить вывод, скрывая ваши личные данные, изменяя символы? - person Nelson Marcos; 28.11.2016
comment
Предложите вам выполнить GET для учетной записи, чтобы получить список контейнеров, чтобы вы могли подтвердить, что используете правильную конечную точку Swift и у нее есть контейнер, который вы ищете. - person Chen Xie; 09.12.2016