#30DaysOfappwrite: CRON이 포함된 클라우드 함수

간단한 소개


#30DaysOfAppwrite는 개발자에게 앱 write의 모든 기능, 기초 기능부터 클라우드 기능 등 고급 기능까지 이해할 수 있도록 한 달 동안의 활동입니다!그 밖에 우리는 이러한 개념을 실제 세계의 응용 프로그램을 구축할 때 어떻게 응용하는지 보여주는 기능이 완비된 미디어 복제도 구축할 것이다.우리는 또한 우리 개발자를 따르기 위해 감동적인 보상을 제공했다.

통계 작성


24일째에 우리는 이벤트가 촉발하는 구름 함수를 만들었다.클라이언트의 상호작용에 반응하고 싶을 때 편리합니다.25일째에 우리는 클라우드 기능을 만들 것이다. 이 기능은 특정한 시간 간격으로 터치될 것이다.우리는 클라우드 기능에 CRON 시간표를 추가함으로써 이를 실현할 수 있다.
25일째에 우리는 매일 실행되는 클라우드 기능을 만들고 응용 프로그램에 통계 데이터를 만들 것이다.우리는 매일의 개인 자료와 게시물 수량을 하나의 집합에 저장할 것이다. 이 데이터들은 우리가 도표와 통계 데이터를 만들어서 추적할 수 있도록 한다.
먼저 다음 규칙을 사용하여 새로운 통계 데이터 집합을 만들 것입니다.

  • 소개:

  • 태그:구성 파일

  • 키워드: 소개

  • 규칙 유형: 숫자

  • 게시물:

  • 태그: Posts

  • 키워드: 직위

  • 규칙 유형: 숫자

  • 타임스탬프:

  • 태그: 타임 스탬프

  • 키: 시간 스탬프

  • 규칙 유형: 숫자
  • 읽기 권한은 *이므로 누구나 통계 데이터를 검색할 수 있으며 쓰기 권한은 비워 둡니다.Write를 비우면 API 키를 사용하지 않는 한 모든 사람이 이 집합에 데이터를 쓸 수 없습니다.

    이제 집합이 준비되었으니 구름 함수부터 시작합시다.이 예에서 우리는 다른 노드를 만들 것이다.js 구름 함수.환경 변수로 다음을 추가합니다.

  • APPWRITE PROJECT ID:항목 ID 삽입

  • APPWRITE 끝점: APPWRITE 끝점을 삽입합니다.

  • APPWRITE API KEY: 문서가 포함된 API 키를 삽입합니다.서류를 읽고 정리하다.쓰기 권한.

  • 통계 컬렉션: 통계 컬렉션의 ID를 삽입합니다.

  • 프로파일 컬렉션: 프로파일 컬렉션의 ID를 삽입합니다.

  • POST COLLECTION: POST COLLECTION의 ID를 삽입합니다.
  • 이 클라우드 함수 설정 페이지에서는 Schedule(CRON Syntax) 필드에 값을 추가해야 합니다.우리의 용례에 대해 우리는 그것을 0 12 * * *로 설정하고 매일 12시에 이 함수를 실행할 것이다.
    노드를 생성합니다.npm의 js 프로젝트를 사용하려면:
    mkdir create-statistics
    cd create-statistics
    npm init -y
    
    의존 항목으로 node-appwrite 추가:
    npm install node-appwrite
    
    index.js 파일을 생성하여 다음을 포함합니다.
    const STATISTICS_COLLECTION = process.env.STATISTICS_COLLECTION;
    const PROFILE_COLLECTION = process.env.PROFILE_COLLECTION;
    const POST_COLLECTION = process.env.POST_COLLECTION;
    
    // Initialise the client SDK
    const appwrite = require('node-appwrite');
    const client = new appwrite.Client();
    const database = new appwrite.Database(client);
    
    client
        .setEndpoint(process.env.APPWRITE_ENDPOINT) // Your API Endpoint
        .setProject(process.env.APPWRITE_PROJECT_ID) // Your project ID
        .setKey(process.env.APPWRITE_API_KEY) // Your secret API key
    ;
    
    // Get the sum of Profiles and Posts
    const profiles = database.listDocuments(PROFILE_COLLECTION, [], 0).then(r => r.sum);
    const posts = database.listDocuments(POST_COLLECTION, ['published=1'], 0).then(r => r.sum);
    
    // Waiting for all promises to resolve and write into the Statistics Collection
    Promise.all([profiles, posts]).then(([profiles, posts]) => {
        return database.createDocument(STATISTICS_COLLECTION, {
            posts: posts,
            profiles: profiles,
            timestamp: Date.now()
        }, ['*']);
    }).then(console.log).catch(console.error);
    
    Appwrite CLI를 사용하여 이 기능을 쉽게 업로드하거나 대시보드에 수동으로 업로드할 수 있습니다.
    appwrite functions createTag --code=. --functionId=[YOUR_FUNCTION_ID] --command='node index.js'
    

    Don't forget to activate the tag we just created!
    We covered both the on Day 23. So feel free to check it out if you get stuck.


    클라우드 기능 테스트


    우리는 12:00을 기다리거나 함수 페이지에서 수동으로 실행함으로써 함수를 쉽게 테스트할 수 있습니다.함수가 성공적으로 실행되면 통계 데이터 집합을 탐색할 수 있으며 다음과 같은 문서를 발견할 수 있습니다.

    이러한 데이터가 있으면 우리는 도표와 통계 데이터를 만들어서 응용 프로그램의 사용 상황을 감시할 수 있다.
    이 데이터를 어떻게 활용하고 미디어 복제에서 실현할 것인지 마음대로 공유하세요!

    크레디트


    우리는 네가 이 문장을 좋아하길 바란다.너는 소셜 미디어에서 우리의 모든 댓글을 주목할 수 있다.전체 활동 일정here을 찾을 수 있습니다.
  • Discord Server

  • Appwrite Homepage
  • Appwrite's Github
  • Appwrite, 외계인 또는 유니콘에 대해 더 알고 싶으시면 언제든지 연락 주세요.🦄. 내일 글 계속 봐주세요!그 전에👋

    좋은 웹페이지 즐겨찾기