curl 명령을 사용하여 IBM Cloud Object Storage(ICOS)에 파일 업로드 및 게시

curl 명령을 사용하여 IBM Cloud Object Storage(ICOS)에 파일을 업로드하여 인터넷에 게시하는 방법입니다.

기본적으로는 아래의 docs대로입니다만, ICOS의 Endpoint가 새롭게 되어 있는가? 라든지, Bearer의 token은 어떻게 취득하면 좋을까? 라든지, 조금 조사할 필요가 있었으므로, 비망록으로서 써 둡니다.

bucket의 공개 설정은 상기 docs나, 아래의 순서로 실시합니다.
htps : // m / st 2 / / ms / 6379 5bc5 165212 15

ICOS 엔드포인트



ICOS 엔드포인트 정보는 여기에 있습니다.
htps : // c ぉ d. 이 bm. 이 m/도 cs/세 rゔぃせ s/cぉ우 d오 b지ぇctss 꺼내? 토피 c = c ぉ u d b b ぇ c t s 토라 게 엔 d 포인 ts # 엔 d 포인 ts
TOK는 s3.jp-tok.cloud-object-storage.appdomain.cloud군요.
기존의 s3.jp-tok.objectstorage.softlayer.net도 있지만 새로운 것을 사용하는 것은 무난하겠지요.

Bearer의 token 얻기



아래 URL의 절차에 따라 bearer token을 받으세요.
h tps : // c ぉ d. 이 bm. 이 m/도 cs/아 m? 토피 c = 이어 m 이아 m와 켄 _ f 여 m_ 아피케 y

위에서 사용하는 apikey를 아직 가지고 있지 않은 경우는 아래 화면에서 작성합니다.
Manage > Access(IAM)에서 왼쪽 메뉴에서 IBM Cloud API Keys를 선택합니다.
h tps : // c ぉ d. 이 bm. 코 m/아 m#/아피케 ys



Bearer token을 얻는 명령

curl -k -X POST --header "Content-Type: application/x-www-form-urlencoded"--header "Accept: application/json"--data-urlencode "grant_type=urn:ibm:params:oauth: grant-type:apikey"--data-urlencode "apikey=[위에서 만든 apikey]""htps : //아이 m. cぉd. 이 bm. 코 m / 이덴치 ty / 토켄 "

그 출력. access_token 문자열을 bearer token으로 사용합니다. 약어 있지만 꽤 길다.

{"access_token":"eyJraWQiOi・・・・・・약...wcggXEqI6-0QqCg","refresh_token":"ReXaaamPhX・・・・・・약... ":74xxxxx,"token_type":"Bearer","expires_in":3600,"expiration":1557396995,"scope":"ibm openid"}

API 엔드포인트로 htps : // c ぉ d. 이 bm. 이 m을 지정하여 ibmcloud에 로그인하십시오.
$ ibmcloud login -a h tps : // c ぉ d. 이 bm. 이 m

로그인 과정에서 지역을 들으면 버킷이 있는 jp-tok을 선택합니다.
地域を選択します (または Enter キーを押してスキップします):
1. au-syd
2. jp-tok
3. eu-de
4. eu-gb
5. us-south
6. us-east
数値を入力してください> 2
ターゲットの地域 jp-tok

위에서 얻은 access_token을 사용하여 아래 URL에서 curl 명령을 조립합니다.
htps : // c ぉ d. 이 bm. 코 m/도 cs/세 rゔぃ세 s/cぉ우 d오 b지ぇctss 토레게/아아 m? 토피 c = c ぉ 우 d b b c c s

-T 옵션을 사용하고 있는 점이 상기 URL과 다릅니다만, 이 옵션으로, 로컬에 있는 업로드하고 싶은 파일명을 지정합니다. 성공하면 특히 메시지 없이 프롬프트가 반환됩니다.

$curl -X PUT https://[자신의 bucket명].s3.jp-tok.cloud-object-storage.appdomain.cloud/index.html -H "x-amz-acl: public-read"-H "Authorization: Bearer eyJraWQiOi...... 약어...... wcggXEqI6-0QqCg"-H "Content-Type: text/html"-T index.html
$

이미지를 올릴 때는 Content-Type을 image/png로 하면 OK입니다.

$curl -X PUT https://[자신의 bucket명].s3.jp-tok.cloud-object-storage.appdomain.cloud/cloud.png -H "x-amz-acl: public-read"-H "Authorization: Bearer eyJraWQiOi...... 약어...... wcggXEqI6-0QqCg"-H "Content-Type: image/png"-T cloud.png
$

브라우저에서 업로드한 파일을 확인할 수 있었습니다.



이상

좋은 웹페이지 즐겨찾기