많은 종류의 파일을 업로드 할 수있는 웹 애플리케이션을 만들고 있습니다. 그 중 일부는 매우 큰 파일입니다. 백엔드는 Symfony (사실 v3.1을 사용하여 제작되었지만이 문제에 대해서는 중요하지 않다고 생각합니다)와 Gaufrette 번들을 사용하여 파일 시스템과 상호 작용합니다. 파일 형식 및 크기에 따라 로컬 저장소와 클라우드 개체 저장소간에 쉽게 전환 할 수 있으므로 훌륭한 솔루션을 발견했습니다.Gaufrette를 사용하여 내 앱에서 Softlayer의 Object Storage로 파일 업로드하기
그러나 Softlayer Object Storage로는 작동하지 않습니다. OpenStack 기반 클라우드 (예 : Rackspace 또는 Softlayer)의 래퍼가 one of them이며 문서가 매우 포괄적으로 보이지만 Softlayer API에 연결할 수 없습니다.
나는 심포니 번들 내에서 모두 통합을 시도하고 내 수업에 직접 라이브러리를 사용하고 그들 중 누구도 후자 아래 작동되지 않은 :
public function uploadFromUrl($url)
{
$connection = new OpenStack(
'https://fra02.objectstorage.softlayer.net/auth/v1.0/',
array(
'username' => 'myuser',
'password' => 'mykey'
)
);
dump($connection);
$objectStore = $connection->objectStoreService('cloudFiles', 'fra02', 'publicURL');
$adapter = new OpenCloudAdapter(
$objectStore,
'mycontainer'
);
$filesystem = new Filesystem($adapter);
$filename = pathinfo($url, PATHINFO_FILENAME);
$filesystem->write($filename, file_get_contents($url));
return $filename;
}
그리고 오류 나는 점점 오전 :
Client error response
[status code] 400
[reason phrase] Bad Request
[url] https://fra02.objectstorage.softlayer.net/auth/v1.0/tokens
문제는 라이브러리가 내부적으로 수행하는 컬링의 잘못된 형식과 관련이 있다고 생각합니다. 그러나 전달되는 매개 변수와 Softlayer API와 일치하는지 여부를 알아낼 방법이 없습니다. Gaufrette 문서에 행운과 함께 OpenStack과 Rackspace 예제를 모두 표시하려고 시도했습니다.
최근 업데이트를 사용해 보셨습니까? –
죄송합니다. 문서가 잘못되었습니다 ... 아직 업데이트가 없습니다. (여전히 v1을 사용하고 있습니다. –