Deno+Appwrite
9362 단어 denoappwritejavascript
Appwrites Deno SDK를 사용하여 Appwrite 함수를 작성하는 방법을 설명합니다.
건립
deno의 cli 버전을 설치했을 것입니다.
우리 공부를 시작합시다!
모듈 가져오기 및 함수 API 설정
import * as sdk from "https://deno.land/x/appwrite/mod.ts";
const client = new sdk.Client()
다음에 우리는 상술한 데이터를 필요로 하여 이를 클라이언트에 설정할 것이다
client.setProject(projectId)
.setEndpoint(endPoint)
.setKey(apiKey
const functions = new sdk.Functions(client)
이제 가져오기를 가져왔습니다. Appwrite의 함수 API와 상호작용을 시작합니다.함수 만들기
함수를 만드는 것부터 시작합시다.현재 함수를 만드는 것은 매우 간단합니다.하나의 방법을 실행하고 새 함수에 모든 데이터를 전달하기만 하면 됩니다
functions.create("foo" , ["*"] , "node-16.0").then(() => {
console.log("Successfully created a new function")
})
.catch((error) => {
console.log("Error while creating a new function.")
console.log(error)
})
좋습니다. 코드를 한 줄 한 줄 이해합시다.functions.create("foo" , ["*"] , "node-16.0").then(() => {
- 함수를 만드는 함수를 호출합니다.매개변수는 다음과 같습니다.현재 실행
deno run --allow-net main.js
을 통해 코드를 실행하고 appwrite 컨트롤러에서 Function tab 로 이동합니다.새 함수가 만들어지는 것을 볼 수 있을 거야!
모든 함수 나열
현재, 어느 시점에, 사용 가능한 모든 함수를 인쇄해야 합니다.다음과 같은 이점을 제공합니다.
functions.list().then((res) => {
let index = 0
res.functions.forEach((_function) => {
console.log(`${index}: ${_function.name}`)
index += 1
})
})
여기서 무슨 일이 있었죠?첫 번째 줄은 기본적으로 데이터베이스에 등록된 모든 함수를 얻었다.다음에 우리는 모든 함수를 교체할 것이다.모든 함수 대상은 보기에 비슷하다this.
다음에, 우리는 단지 모든 함수의 이름을 인쇄할 뿐이다.
다음 명령을 사용하여 파일을 실행합니다.
deno run --allow-net main.js
이렇게 하면 다음과 같은 출력이 발생합니다.0: foo
함수 가져오기
함수의 id를 사용하여 함수에 대한 자세한 정보를 얻을 수 있습니다.
다음은 네가 할 수 있는 것이다.
functions.get("6172d8bc57f89").then((res) => {
console.log(`Fetching details for function id ${res.$id}`)
console.log(`Name - ${res.name}`)
console.log(`Created at - ${res.dateCreated}`)
console.log(`Status - ${res.status}`)
console.log(`Runtime - ${res.runtime}`)
})
따라서, 첫 번째 줄에서, 우리는 id를 통해 함수를 가져옵니다. 이것은 [이] 키 값이 맞는 대상을 되돌려줍니다.그리고 우리는 일부 속성을 컨트롤러에 인쇄하기만 하면 된다.출력은 다음과 같습니다.Fetching details for function id 6172d8bc57f89
Name - foo
Created at - 1634916540
Status - disabled
Runtime - node-16.0
업데이트 기능
지금 당신은 함수를 바꾸고 싶은 곳에 갇혀 있습니까?간단해!Appwrite는 함수의 id, 이름, 런타임 등을 변경할 수 있는 함수를 제공합니다. 다음 절차는 다음과 같습니다.
const newName = "Bar"
functions.update("6172d8bc57f89", newName, ["*"]).then(() => {
console.log("Successfully renamed the function!")
}).catch((err) => {
console.log(err)
})
우선, 우리는 함수의 새로운 이름으로 변수를 초기화합니다.다음에 우리는 함수를 실행하고 함수를 업데이트합니다.매개변수는 다음과 같습니다.
함수 삭제
함수 하나가 지겨워서 영원히 삭제하고 싶어요. 그래요, 간단해요!
functions.delete("6172d8bc57f89").then(() => {
console.log("Successfully deleted")
})
응, 여기는 설명할 게 없어.함수 이름과 매개 변수가 그것을 설명합니다.함수는 데이터베이스에서 이 함수를 삭제합니다.매개 변수는 함수의 id입니다.
기능
태그 만들기
이제 태그를 만들려면 다음 코드를 사용합니다.
functions.createTag("6172e57d60cc5", "foo", "somepath.tar.gz").then(() => {
console.log("Successfully created a new tag")
})
현재, 첫 번째 매개 변수는 함수 (목표) 의 id를 받아들인다.두 번째 파라미터는 코드 확장 명령의 이름을 사용합니다.마지막으로 코드를 압축하는 경로입니다.
태그 id 업데이트
사용자 정의 태그 id를 설정하고 사용할 수 있습니다.
functions.updateTag("6172e57d60cc5", "foo-tag").then(() => {
console.log("Succesfully changed the tag!")
})
업데이트 태그 함수라고 합니다.이것은 두 개의 인자를 받아들인다. 첫 번째는 함수 id이고, 마지막 하나는 표시된 새 이름이다.
목록 태그
함수와 마찬가지로, 우리는 모든 탭을 인쇄해야 할 수도 있습니다.다음은 네가 할 수 있는 것이다.
functions.listTags("6172e57d60cc5").then((res) => {
let index = 0
for (const tag of res.tags) {
console.log(`${index}: ${tag.$id}`)
index += 1
}
})
따라서 함수에서 사용할 수 있는 모든 태그를 가져오고 있습니다.그리고 모든 탭의 id를 출력합니다.
태그 데이터 가져오기
현재, 우리는 어떻게 표시를 만들고, 표시를 열거하는지 보았습니다. 현재 어떻게 하나의 표시를 얻습니까?
다음은 네가 할 수 있는 것이다.
functions.getTag("6172e57d60cc5", "foo-tag").then((res) => {
console.log("Tag id is", res.$id)
})
첫 번째 파라미터는 함수 id이고, 두 번째 파라미터는 탭 id입니다. 그리고 간단한 컨트롤러 로그 기록만 하면 됩니다.
태그 삭제
너는 이 꼬리표에 싫증이 났니?삭제하는 방법은 다음과 같습니다.
functions.deleteTag("6172e57d60cc5", "foo-tag").then(() => {
console.log("Successfully deleted the tag")
})
설명할 필요 없어요.
창조 처결
모든 번거로운 작업을 끝낸 후에, 응용 프로그램이 이 기능을 정확하게 실행하기를 희망합니다.
다음은 실행을 작성하는 방법입니다.
functions.createExecution("6172e57d60cc5").then((res) => {
console.log("Created an excecution")
})
따라서 id가 있는 함수 실행을 만들고 id를 매개 변수로 전달합니다.
열명으로 처결하다.
현재 사용자 함수 실행 로그를 모두 가져오시겠습니까?예전과 같이 그것은 매우 간단하다.
functions.listExecutions("6172e57d60cc5").then((res) => {
let index = 0
for (const tag of res.executions) {
console.log(`${index}: ${tag.$id}`)
index += 1
}
})
listExecutions 함수는 함수 id를 매개 변수로 받아들입니다.이것은 실행 대상의 목록을 되돌려줍니다.
Here는 반환값의 형식입니다.
사형을 집행하다
마지막으로 가장 중요하지 않은 것은 한 번 실행하는 것이다.다음은 네가 할 수 있는 것이다.
functions.getExecution("6172e57d60cc5", "5e5ea5c16897e").then((res) => {
// Play with the execution object
})
따라서 함수 getExecution을 실행합니다. 함수 id를 첫 번째 인자로 하고, 함수 id를 두 번째 인자로 합니다.그것은 여러 개의 다른 속성을 가진 실행 대상을 되돌려줍니다. 모든 이 속성은 이 실행과 관련이 있습니다
결론
이 글을 읽어 주셔서 감사합니다.denosdk에서 함수api를 어떻게 사용하는지 알고 싶습니다.
Github 저장소
코드를 가져올 수 있습니다here.
내 github 계정-https://github.com/AsianCat54x
Reference
이 문제에 관하여(Deno+Appwrite), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/asiancat54x/deno-appwrite-5271
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
functions.delete("6172d8bc57f89").then(() => {
console.log("Successfully deleted")
})
functions.createTag("6172e57d60cc5", "foo", "somepath.tar.gz").then(() => {
console.log("Successfully created a new tag")
})
functions.updateTag("6172e57d60cc5", "foo-tag").then(() => {
console.log("Succesfully changed the tag!")
})
functions.listTags("6172e57d60cc5").then((res) => {
let index = 0
for (const tag of res.tags) {
console.log(`${index}: ${tag.$id}`)
index += 1
}
})
functions.getTag("6172e57d60cc5", "foo-tag").then((res) => {
console.log("Tag id is", res.$id)
})
functions.deleteTag("6172e57d60cc5", "foo-tag").then(() => {
console.log("Successfully deleted the tag")
})
functions.createExecution("6172e57d60cc5").then((res) => {
console.log("Created an excecution")
})
functions.listExecutions("6172e57d60cc5").then((res) => {
let index = 0
for (const tag of res.executions) {
console.log(`${index}: ${tag.$id}`)
index += 1
}
})
functions.getExecution("6172e57d60cc5", "5e5ea5c16897e").then((res) => {
// Play with the execution object
})
Reference
이 문제에 관하여(Deno+Appwrite), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asiancat54x/deno-appwrite-5271텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)