cURL, 클라우드, 20GB 파일 및 I!

클라우드를 사용하여 cURL을 사용하여 서로 다른 클라우드 서비스 간에 거대한 파일을 전송하는 방법에 대한 빠른 팁!

지난 몇 년 동안 JavaScript IsraelIoT Makers Israel 을 포함하여 여러 모임을 공동으로 조직했습니다. 나는 모든 강연을 녹음하고 YouTube/Vimeo에서 공유하는 것을 굳게 믿습니다.

어떤 이유로 비디오 전문가들은 때때로 sendgb.com, filemail.com 등과 같은 임의의 파일 공유 서비스를 사용하여 원시 비디오 파일을 공유하기를 원합니다. 이러한 파일은 일반적으로 몇 기가바이트 크기이며 이러한 서비스는 파일을 며칠 동안만 보관합니다.

집에서 업로드하는 속도가 그리 빠르지 않기 때문에 먼저 컴퓨터에 파일을 다운로드한 다음 다시 다운로드할 필요 없이 이러한 파일을 Google 클라우드 스토리지 또는 Vimeo와 같은 다른 위치로 전송할 수 있는 빠른 솔루션을 찾고 있었습니다. 새 집에 업로드합니다.

약간의 만지작거림 끝에 이것을 매우 간단하게 만드는 멋진 트릭을 찾았습니다.
  • 내 컴퓨터에서 Chrome의 파일 공유 서비스 웹 사이트로 이동하여 개발자 도구를 엽니다. 그런 다음 "다운로드"를 클릭합니다.
  • Chrome 개발자 도구의 "네트워크"탭을 보고 내 다운로드 요청에 의해 트리거된 특정 줄을 찾습니다. 마우스 오른쪽 버튼을 클릭하고 "복사"및 "cURL(bash)로 복사"를 선택합니다. 복사된 명령에는 모든 관련 쿠키, 헤더 및 제출된 양식 데이터가 포함되어 있어 다른 시스템에서 동일한 HTTP 요청을 실행하고 동일한 파일을 쉽게 얻을 수 있습니다.
  • 마지막으로 클라우드 시스템 중 하나에 SSH로 연결하고 방금 복사한 cURL 명령을 붙여넣은 다음 원하는 서비스에 파일을 업로드할 두 번째 명령으로 출력을 파이프합니다. 아래의 몇 가지 예를 참조하십시오.



  • Google Cloud Storage 또는 AWS에 파일 복사



    파일을 GCS로 복사하기 위해 Google Cloud VM에서 gsutil 명령을 사용하거나(VM은 GCS에 대한 쓰기 권한이 있어야 함) 작은 파일(<3GB)의 경우 Cloud Shell을 실행합니다. 결과는 다음과 같습니다.

    curl ... | gsutil cp - gs://bucket-name/filename.mp4
    

    여기서 curl ...는 Chrome Devtools에서 복사한 명령이고, bucket-name는 해당 파일을 복사하려는 대상 GCS 버킷이고, filename.mp4는 파일을 호출하려는 것입니다.

    AWS에서 작업하는 경우 aws s3 명령을 사용하여 유사한 결과를 얻을 수 있습니다.

    curl ... | aws s3 cp - s3://bucket-name/filename.mp4
    

    파일을 Vimeo에 직접 업로드



    Vimeosupport FTP uploads on their paid plans . 따라서 비슷한 방법을 사용하지만 이번에는 curl의 출력을 FTP를 통해 업로드하는 다른 curl 프로세스로 파이프합니다.
    curl ... | curl -T - ftp://user:[email protected]/video.mp4
    

    이 방법을 사용하여 모든 FTP 서버에 파일을 업로드할 수 있습니다. user , PASSftp-3.cloud.vimeo.com를 FTP 계정에 대한 관련 값으로 바꾸십시오.

    Google Drive, Dropbox 등 다른 위치에 업로드



    이 방법을 쉽게 확장하고 선호하는 클라우드 공급자에 파일을 업로드할 수 있습니다. 예를 들어 Google 드라이브의 경우 the gdrive cli을 사용하고 cURL 출력을 gdrive upload - <path>로 파이프할 수 있습니다.

    Dropbox의 경우 단계in this StackOverflow answer에 따라 지정된 파일을 dropbox에 업로드하는 cURL 명령을 생성할 수 있습니다. --data-binary @matrices.txt--data-binary @-로 변경하기만 하면 명령이 stdin에서 입력을 받을 수 있습니다. 즉, 파이프로 연결하는 다른 curl 명령의 출력입니다.

    요약



    여기에 제시된 요령은 매우 간단합니다. Chrome의 DevTools 덕분에 브라우저에서 수행하는 모든 네트워크 요청을 어디에서나 실행할 수 있는 cURL 명령으로 쉽게 변환할 수 있으며 대부분의 경우 동일한 결과를 생성합니다. 클라우드에서 Linux 명령을 사용하여 대용량 파일을 전송하기 위해 이 방법을 활용했지만 훨씬 더 창의적인 사용 사례를 찾을 수 있을 것이라고 확신합니다. 그럴 때 저에게 공유해주세요 :-)

    좋은 웹페이지 즐겨찾기