함수 계산의 정확한 자세 개발 - 웹 캡처 서비스
전언
먼저 본문에 나타난 몇 가지 비교적 중요한 개념을 소개한다.
함수 계산(Function Compute): 함수 계산은 이벤트 구동 서비스로 함수 계산을 통해 사용자는 서버 등의 운행 상황을 관리할 필요가 없고 코드를 작성하여 업로드하기만 하면 된다.함수 계산은 계산 자원을 준비하고 사용자 코드를 탄력적으로 신축하는 방식으로 운행하며 사용자는 실제 코드 운행에 소모된 자원에 따라 비용을 지불해야 한다.함수 계산 더 많은 정보 참조.
Fun: Fun은 Serverless 응용 배치를 지원하는 도구로 함수 계산, API 인터페이스, 로그 서비스 등 자원을 간편하게 관리할 수 있습니다.이것은 자원 설정 파일 (template.yml) 을 통해 개발, 구축, 배치 작업을 돕습니다.Fun에 대한 추가 문서 참조.
fun install: fun install 은fun 도구의 하위 명령으로 pip와 apt 의존을 설치하는 데 사용되며 명령행 인터페이스와fun.yml 설명 파일의 두 가지 형식입니다.
비고: 본고에서 소개한 기교는 Fun버전이 2.9.3보다 커야 한다.
도구에 의존하다
본 프로젝트는 MacOS에서 개발된 것으로 관련된 도구는 플랫폼과 무관하며 리눅스와 Windows 데스크톱 시스템에도 똑같이 적용될 것입니다.이 예를 시작하기 전에 다음 도구가 올바르게 설치되어 최신 버전으로 업데이트되고 올바르게 설정되었는지 확인하십시오.
Fun 및 Fcli 도구는 로컬 환경을 시뮬레이션하기 위해 docker에 의존합니다.
MacOS 사용자는 homebrew를 사용하여 설치할 수 있습니다.
brew cask install docker
brew tap vangie/formula
brew install fun
brew install fcli
Windows 및 Linux 사용자 설치는 다음을 참조하십시오.
설치가 끝난 후에 먼저
fun config
설정을 초기화하는 것을 기억하세요.초기화
fun init 명령을 사용하면 이 템플릿 항목을 로컬로 빠르게 초기화할 수 있습니다.
$ fun init vangie/puppeteer-example
? Please input oss bucket to upload chrome shell? chrome-headless
? Please select a region? cn-hangzhou
? Please input oss accessKeyId for upload? xxxxxxxxxxxKbBS
? Please input oss accessKeySecret for upload? xxxxxxxxxxxx5ZgM
위에서 힌트를 줄 거예요.
설치 의존성
$ fun install
skip pulling image aliyunfc/runtime-nodejs8:build-1.2.0...
Task => [UNNAMED]
=> apt-get update (if need)
=> apt-get install -y -d -o=dir::cache=/code/.fun/tmp libnss3
=> bash -c 'for f in $(ls /code/.fun/tmp/archives/*.deb); do dpkg -x $f /code/.fun/root; done;'
=> bash -c 'rm -rf /code/.fun/tmp/archives'
Task => [UNNAMED]
=> bash -c 'curl -L https://github.com/muxiangqiu/puppeteer-fc-starter-kit/raw/master/chrome/headless_shell.tar.gz --output headless_shell.tar.gz'
...
fun install에서 fun을 실행합니다.yml 파일의 작업:
배치하다
$ fun deploy
using region: cn-shanghai
using accountId: ***********4733
using accessKeyId: ***********KbBS
using timeout: 60
Waiting for service puppeteer to be deployed...
Waiting for function html2png to be deployed...
Waiting for packaging function html2png code...
package function html2png code done
function html2png deploy success
service puppeteer deploy success
실행
$ fcli function invoke -s puppeteer -f html2png
The screenshot has been uploaded to http://chrome-headless.oss-cn-shanghai.aliyuncs.com/screenshot.png
위의 반환 링크를 열면 전체 화면을 스크롤하는 긴 그림이 캡처되어 있고 고려된 화면 아래에 부분만 캡처됩니다.
웹 주소를 바꾸려면 아래 명령 형식을 사용할 수 있습니다
fcli function invoke -s puppeteer -f html2png --event-str 'http://www.alibaba.com'
디버깅
로컬 디버깅 코드가 필요하면 아래 명령을 사용할 수 있습니다
fun local invoke html2png <<
참고
본문 저자: 의현
원문을 읽다
본고는 운서 지역사회의 오리지널 내용으로 허락 없이 전재할 수 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
application ---- enter and save the file codeInput file name and content - input_content.html Receive content and save file and content - input_content01.jsp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.