Azure Functions HTTP 트리거로 Blob Storage의 이미지 보기(Azure Functions v1, Python 3.6.1)
※Chrome상의 Azure Portal의 표시가 어쩐지 상태 나쁘기 때문에 Edge로 하고 있습니다.
Function App 만들기
Azure 포털에 로그인합니다.
リソースの作成
에서 Function App 을 만듭니다.가능하면 리소스로 이동합니다.
Python에서 하고 싶으므로 런타임 버전을
~1
로 변경합니다.사용자 지정 함수를 만듭니다.
HTTP trigger를 선택하고 생성합니다.
Azure Functions에서 Python3 사용 을 참고로 Python을 설정합니다.
https://{your-app-name}.scm.azurewebsites.net/DebugConsole
를 엽니다.
{your-app-name}
에 Function App의 이름을 넣으십시오. (예: gachimoto-blob)아래 명령으로 Python3을 설치합니다.
> cd D:\home\site\tools
> nuget.exe install -Source https://www.siteextensions.net/api/v2/ -OutputDirectory D:\home\site\tools python361x64
> mv /d/home/site/tools/python361x64.3.6.1.3/content/python361x64/* /d/home/site/tools/
pip로 azure-storage 라이브러리를 설치합시다.
> D:\home\site\tools\python.exe -m pip install azure-storage
스토리지 계정 만들기
스토리지 계정을 만듭니다.
배포가 완료되면 리소스로 이동합니다.
스토리지 계정 이름과 key1을 기록합니다.
컨테이너 만들기
컨테이너를 만듭니다. test라는 컨테이너를 만들었습니다. Blob은 액세스할 수 있도록 합니다.
이미지 업로드
test 컨테이너에
lena.jpg
를 업로드해 보았습니다.Blob의 액세스를 가능하게 하고 있으므로, URL로부터 볼 수 있습니다.
예: https://{your-storage-account}.blob.core.windows.net/test/lena.jpg
Function App 함수 만들기
이미지 업로드가 완료되면 Function App로 돌아갑니다.
HttpTriggerPython31의 내용은 다음과 같습니다.
import os
import json
from azure.storage.blob import BlockBlobService
account_name='{your-storage-account}'
account_key='{your-storage-account-key}'
container_name='test'
service = BlockBlobService(account_name=account_name,account_key=account_key)
blobs = service.list_blobs(container_name)
files = []
for blob in blobs:
files.append(blob.name)
def write_http_response(status, body):
return_dict = {
"status": status,
"body": body,
"headers": {
"Content-Type": "text/html"
}
}
output = open(os.environ['res'], 'w')
output.write(json.dumps(return_dict))
write_http_response(200, "<html><h1>" + files[0] + "</h1><img src=" + "\"" + "https://{your-storage-account}.blob.core.windows.net/test/" + files[0] + "\"" + ">" + "</html>")
account_name
및 account_key
에는 메모된 스토리지 계정 이름과 key1을 넣습니다.test 컨테이너 안에 있는 Blob 리스트를 가져오고 리스트의 첫 번째 파일의 URL을 HTML 태그에 넣고 반환합니다.
統合
에서 HTTP 메서드를 GET
로 변경합니다.保存および実行
를 클릭해, 출력이 진행 상황 200 OK가 되면 성공입니다.<html><h1>lena.jpg</h1><img src="https://{your-storage-account}.blob.core.windows.net/test/lena.jpg"></html>
함수의 URL을 얻고 열어 봅시다.
lena.jpg가 표시되면 OK입니다.
요약
참고문헌
Reference
이 문제에 관하여(Azure Functions HTTP 트리거로 Blob Storage의 이미지 보기(Azure Functions v1, Python 3.6.1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoshiGachiFujimoto/items/ac6426e949267a78f914텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)