Zenodo: ์•„์นด์ด๋ธŒ์šฉ ๋‹จ์ˆœ ๋‹ค์šด๋กœ๋“œ URL ์ง€์›

์— ๋งŒ๋“  2018๋…„ 10์›” 23์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: zenodo/zenodo

ํ˜„์žฌ ๋‹ค์šด๋กœ๋“œ๋œ ์•„์นด์ด๋ธŒ์˜ URL์€ ๊ฐ„์ ‘์ ์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ํŒŒ์ผ ์ด๋ฆ„ ํ™•์žฅ๋ช…(์˜ˆ: wget)์„ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ๋ช…๋ น์ค„์—์„œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ์•„์นด์ด๋ธŒ์˜ ํŒŒ์ผ ์ด๋ฆ„์ด ๋ณด์กด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@lnielsen ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. api/records/record_id๋ฅผ ์ปฌ๋งํ•˜๋ฉด wget'able URL์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ด๋Ÿฌํ•œ wget'able URL์„ ์‚ฌ์ดํŠธ์— ์ง์ ‘ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. AFAIK ์ด๊ฒƒ์€ ์ด๋ฏธ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

$ wget https://zenodo.org/api/files/4f53dd1f-df5f-4a9c-8b46-6eacfc4b8840/results.zip
--2018-10-24 08:33:10--  https://zenodo.org/api/files/4f53dd1f-df5f-4a9c-8b46-6eacfc4b8840/results.zip
Resolving zenodo.org... 137.138.76.77
Connecting to zenodo.org|137.138.76.77|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 309980977 (296M) [application/octet-stream]
Saving to: 'results.zip'

๊ทธ๋ ‡์ง€ ์•Š์€ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @lnielsen ,

https://zenodo.org/record/51405
์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๋ ˆ์ฝ”๋“œ์—๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://zenodo.org/record/<record number>/files/<filename>?download=1 ,
์™€ ๋‹ค๋ฅธ ๊ฒƒ์€
https://zenodo.org/api/files/<UID>/<filename>
์œ„์—์„œ ์ œ๊ณต ํ•œ ํ˜•์‹. @bbarker ์˜ ์š”์ฒญ์— ๋”ฐ๋ฅด๋ฉด ์ „์ž์— wget ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚˜์˜ ๋ฌด์ง€์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API ์Šคํƒ€์ผ ์˜๊ตฌ ๋งํฌ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ๋ˆ„๋ฝ๋œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@benjaminhwilliams ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ๋™์ผํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์˜ˆ๋ฅผ ๋“ค์–ด 404ํŽ˜์ด์ง€์— ๋Œ€ํ•ด https://zenodo.org/record/<record number>/files/<filename>?download=1 ์— ๋ฉ‹์ง„ ์ธ์  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

wget ๋ฐ ?download=1 ์ธก๋ฉด์—์„œ ๋‚ด ์˜๊ฒฌ์œผ๋กœ๋Š” wget ์˜ค์ž‘๋™์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ wget ?download=1 ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

wget ๋Š” ์‹ค์ œ๋กœ HTTP ํ—ค๋”์—์„œ ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์„ ๋ณด๋‚ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฐธ์กฐ:

$ curl -I "https://zenodo.org/record/51405/files/l-cyst_01.tar.gz?download=1"
HTTP/1.1 200 OK
...
Content-Disposition: attachment; filename=l-cyst_01.tar.gz
...

์ฆ‰, ์ž๋™ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ง์ ‘ ํŒŒ์ผ ๋งํฌ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” REST API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

$ curl https://zenodo.org/api/records/51405
{
  ...
  "files": [
    {
      "bucket": "cbc7d513-2359-47fe-a9c6-f826de7776c5",
      "checksum": "md5:780a7b23320307ae8b6cf2d6e99ade1f",
      "key": "l-cyst_fast_04.tar.gz",
      "links": {
        "self": "https://zenodo.org/api/files/cbc7d513-2359-47fe-a9c6-f826de7776c5/l-cyst_fast_04.tar.gz"
      },
      "size": 140654635,
      "type": "gz"
    },
    {
      "bucket": "cbc7d513-2359-47fe-a9c6-f826de7776c5",
      "checksum": "md5:c04800ec8ffaaad867ee54a3a1688ac5",
      "key": "l-cyst_very_fast_01.tar.gz",
      "links": {
        "self": "https://zenodo.org/api/files/cbc7d513-2359-47fe-a9c6-f826de7776c5/l-cyst_very_fast_01.tar.gz"
      },
      "size": 63254814,
      "type": "gz"
    },
  ...
}

@lnielsen ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. api/records/record_id๋ฅผ ์ปฌ๋งํ•˜๋ฉด wget'able URL์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ด๋Ÿฌํ•œ wget'able URL์„ ์‚ฌ์ดํŠธ์— ์ง์ ‘ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰