์ค๋ช
์ ์ ๋ฐ๋ฅด๋ฉด --image
์ต์
์์ Bytes
์์ฑ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ๋ฐ์ดํธ๋ฅผ Rekognition API ์์
์ ์ ๋ฌํ ์ ์์ต๋๋ค.
aws rekognition detect-labels --image "Bytes=blob"
์๋ง์ ์กฐํฉ์ ์๋ํ์ง๋ง ์์ฉ์ด ์์์ต๋๋ค. ๋ํ ์ด๋ฏธ์ง๊ฐ base64๋ก ์ธ์ฝ๋ฉ๋์ด์ผ ํจ์ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฌด์์ ์๋ํ๋ ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
An error occurred (InvalidImageFormatException) when calling the DetectLabels
operation: Invalid image encoding
aws-cli๋ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ "blob" ์ ๋ ฅ์ ๋ฐ์ ๋ค์ base64๋ก ์ธ์ฝ๋ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๋ ์ค์ ๋ก ์ ๋ ฅ์ ์ผ๋ฃฉ์ผ๋ก ์ทจ๊ธํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๊ทธ๊ฒ์ ๋ฌธ์์ด๋ก ์ทจ๊ธํ๊ณ ๊ทธ๊ฒ์ utf8๋ก ํด์ํ๋ ค๊ณ ์๋ํ๋ฏ๋ก ์ฐ์ฐํ ์์ ํ ์ ํจํ utf8 ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ์ผ๋ฃฉ์ ์์ ํ๊ฒ ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ์ค์ ๋ก ์ผ๋ฃฉ์ ์ ๋ฌํ ์ ์์ต๋๋ค. JSON์ ์ ๋ฌํ๋๋ผ๋ ์ฌ์ ํ Bytes ๊ฐ์ base64๋ก ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ ์ผํ ์ต์
์ ๋จผ์ ์ด๋ฏธ์ง๋ฅผ S3์ ์
๋ก๋ํ ๋ค์ S3Object
์์ฑ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ํญ์ ๋ฐ๋์งํ ๊ฒ์ ์๋๋ฉฐ "Bytes=blob"
์ง์์ ๋ถ์กฑ์ ๋ฌธ์ ๋ฐ ๋ด์ฅ ๋์๋ง ํ
์คํธ์ ๋์กฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ์ฉ๋ ์์คํ
/์ํํธ์จ์ด:
aws-cli/1.11.175 Python/2.7.13 Linux/4.8.0-2-amd64 botocore/1.7.33
์ด๋ CLI๊ฐ ์ด๋ฌํ ์ ๋ ฅ์ ๋ ธ์ถํ๋ ๋ฐฉ์์ผ๋ก ์ธํด ํ์ฌ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ์ดํธ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ช ๋ น์ ์ ๋ฌํ ์ ์๋๋ก ์ด API๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ด๊ฒ์ ํ์ผ๋ก ์ ์ถํ ๊ฒ์ ๋๋ค. ๊ทธ ๋์ S3 ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
@dstufft ์ด๊ฒ์ ๊ดํ ์์์ด ์์ต๋๊น?
๋ค์ ์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น? ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ดํธ๋ก ์ ๋ก๋ํ๋ ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@dstufft ์ด๊ฒ์ ๊ดํ ์์์ด ์์ต๋๊น?