AppWrite是一个开源后端平台,可减少开发人员从头开始构建后端服务器的工作和时间。这是一种后端 - 服务解决方案,可处理Web,移动和flutter应用程序的后端任务。
AppWrite提供数据库,身份验证,存储,实时通信以及许多其他服务。
在Web应用程序中创建和配置数据库很耗时,本教程将使用AppWrite的Python SDK(软件开发套件)或软件包以简单的步骤进行操作。
。如果在AppWrite Cloud中设置数据库之前,您不想处理初步任务,则可以跳到数据库创建部分。
收集所需信息
在开始在AppWrite Cloud上创建数据库之前,您必须首先从AppWrite Console获取以下凭据:
-
appwrite api键
-
appwrite项目ID
-
appwrite cloud api端点
步骤1:获取项目ID
-
要访问AppWrite控制台,在AppWrite Cloud(https://cloud.appwrite.io/)上创建一个帐户,或者如果您已经有一个帐户。
-
单击“创建项目” 按钮,给您的项目命名,然后保存“项目ID” 。
步骤2:获取API密钥
-
创建一个新项目后,向下滚动并单击“ API键” 按钮。
-
填写API名称并选择到期时间,然后单击“ Next” 按钮,然后添加范围“数据库” ,最后单击“创建” 按钮。
-
向下滚动AppWrite控制台,然后单击“ API键” “ Integrations” e节,然后是您新创建的 api名称< /strong>。
-
单击“ API密钥秘密” 按钮。
,复制项目的API键
安装AppWrite的Python软件包
使用Python在AppWrite Cloud上创建数据库需要一个名为appwrite
的Python软件包,该软件包可提供API访问以与AppWrite后端进行交互并执行各种任务。
打开一个终端窗口并键入以下命令,以使用pip
安装Python软件包pip
。
pip install appwrite
创建数据库
在appwrite云上创建数据库涉及简单的步骤。收集了所有必需的凭据,让我们使用Python创建一个数据库。
导入所需的模块
from appwrite.client import Client
from appwrite.services.databases import Databases
from appwrite.id import ID
import os
from dotenv import load_dotenv
from appwrite.client import Client
:要与appwrite api进行交互,Client
类是从appwrite.client
模块导入的。 Client
类将允许您配置API密钥,项目ID和API端点,以制作AppWrite Backend请求。
from appwrite.services.databases import Databases
:要使用AppWrite Cloud上的数据库,Databases
类是从appwrite.services.databases
模块导入的。
from appwrite.id import ID
:要生成可以在AppWrite中使用的唯一ID,ID
类是从appwrite.id
模块导入的。
import os
:要与操作系统交互,导入了os
模块。
from dotenv import load_dotenv
:将环境变量加载到Python文件。如果不安装库,则可以使用pip install python-dotenv
安装。
配置AppWrite客户端以访问API
""" Configuring Appwrite Client """
# Instantiating Appwrite Client
client = Client()
# To load environment variables
load_dotenv()
# Configuring Appwrite Client
(client
# Setting API Endpoint
.set_endpoint('https://cloud.appwrite.io/v1')
# Setting Project ID
.set_project(os.getenv('PROJECT_ID'))
# Setting API Key
.set_key(os.getenv('API_KEY'))
)
实例化appwrite客户端:Client
类实例是创建并存储在client
变量中的。
使用load_dotenv()
函数将环境变量(PROJECT_ID
和API_KEY
)加载到脚本中。
设置API端点:AppWrite客户端的set_endpoint()
方法用于将API端点设置为url '
koude24'
。
设置项目ID :AppWrite客户端的set_project()
方法用于通过使用os.getenv('PROJECT ID')
从环境变量'PROJECT ID'
检索项目ID。
设置API键:同样,使用set_key()
方法设置API键,并从环境变量'API_KEY'
中检索到os.getenv('API_KEY')
。
创建一个新数据库
""" Creating Database """
# Initializing databases service
databases = Databases(client)
# To generate unique database ID
db_id = ID.unique()
# Creating a new database
create_db = databases.create(db_id, 'BooksDB')
print("Database Successfully Created.")
使用Databases(client)
创建Databases
实例,并保存在databases
变量中。这可以与AppWrite数据库API和执行各种数据库相关的任务进行交互。
ID.unique()
方法用于生成数据库的唯一ID,然后将其存储在db_id
变量中。
然后,代码通过调用databases.create()
方法来创建数据库,该方法采用两个参数:在这种情况下,数据库ID,db_id
和数据库名称,在这种情况下为'BooksDB'
。
如果运行文件,则将创建数据库,并在AppWrite Cloud上可见。
创建数据库是不够的,特别是如果您打算将其连接到Web应用程序。这是CRUD操作所必需的,例如添加新数据,更新它,读取它甚至删除它。
要创建一个用于数据存储的功能齐全的数据库,必须创建以下内容:
-
收集
-
属性
-
文档
创建收藏
AppWrite数据库中的集合是数据存储容器,类似于传统数据库中的表。
您可以在单个AppWrite数据库中创建多个集合来存储和管理各种来源的数据,这将有助于数据管理。
"""Creating Collections"""
# Database ID
database_id = create_db['$id']
# For Generating Unique Collection ID
collection_id = ID.unique()
# Creating a New Collection
new_collection = databases.create_collection(database_id=database_id,
collection_id=collection_id,
name='Books')
print('Collection Successfully Created.')
使用create_db['$id']
检索数据库ID并存储在database_id
变量中。
ID.unique()
方法用于为数据库中的集合生成唯一的ID,并将结果ID存储在collection_id
变量中。
要创建一个新集合,使用了databases.create_collection()
方法。它接受三个必需的参数:database_id
,代表将创建集合的数据库ID,collection_id
,一个独特的ID,可确保与现有集合没有冲突,而name
则指定了新集合的名称,即"Books"
在这种情况下。
创建属性
收集完成后,下一步是创建属性。该属性定义了数据的模式。属性为不同的types,您可以根据要求选择。
属性与传统数据库表中的字段相似,其中数据存储在相应的字段下。这样可以确保AppWrite数据库中文档的标准化结构。
由于数据库适用于 book 详细信息,因此该模式如下:
-
id
-integer
:用于存储本书的ID。 -
image
-url
:图像图像 -
title
-string
:本书的标题 -
author
-string
:本书的作者 -
genre
-string
:这本书的类型
该属性将基于上面列出的字段生成。
"""Creating Attributes"""
# Collection ID of Book
c_id = new_collection['$id']
""" Creating integer attribute """
# ID Attribute
book_id = databases.create_integer_attribute(database_id=database_id,
collection_id=c_id,
key="id",
required=True)
""" Creating url attribute """
# URL Attribute
book_url = databases.create_url_attribute(database_id=database_id,
collection_id=c_id,
key="image",
required=True)
""" Creating string attribute """
# Title Attribute
book_title = databases.create_string_attribute(database_id=database_id,
collection_id=c_id,
key="title",
required=True,
size=100)
# Author Attribute
book_author = databases.create_string_attribute(database_id=database_id,
collection_id=c_id,
key="author",
required=True,
size=50)
# Genre Attribute
book_genre = databases.create_string_attribute(database_id=database_id,
collection_id=c_id,
key="genre",
required=True,
size=50)
print("Attributes Successfully Created.")
使用create_integer_attribute()
方法来创建整数属性“ id” “ books” 集合。该方法由四个强制性参数调用:database_id
(设置为database_id
),collection_id
(设置为c_id
),key
(将key
设置为属性名称为属性名称)和required
(设置为True
,以表明此属性的价值是左空)。
使用create_url_attribute()
方法来创建URL属性“ image” “ books” 集合。此方法还使用四个强制性参数调用:database_id
,collection_id
,key
设置为"image"
和required
参数设置为True
。
最后,使用create_string_attribute()
方法来创建三个字符串属性,即“ title” ,“作者” 和“类型” 对于“书籍” 收集。此方法需要五个参数:database_id
,collection_id
,key
,required
和size
,这是属性允许的最大字符数。
现在,所有进程已经完成并且数据库准备就绪,您可以从前端添加数据并将其作为文档存储在数据库中。
添加文档
遵循上一节中创建的模式,将在数据库中以编程方式添加数据,称为“ books” ,称为 “ booksdb” 在本节中。
""" Adding Documents """
# Unique Identifier for Document ID
document_id = ID.unique()
""" Function for Adding Documents(data) in the Database """
def add_doc(document):
try:
doc = databases.create_document(
database_id=database_id,
collection_id=c_id,
document_id=document_id,
data=document
)
print("Id:", doc['id'])
print("Image:", doc['image'])
print("Title:", doc['title'])
print("Author:", doc['author'])
print("Genre:", doc['genre'])
print("-" * 20)
except Exception as e:
print(e)
代码定义了一个add_doc
函数,该函数采用一个名为document
的单个参数。在函数的try
块中,调用databases.create_document()
方法生成文档,该文档随后存储在doc
变量中。
此方法需要四个强制性参数:database_id
(设置为database_id
),collection_id
(设置为c_id
),document_id
(代表文档的唯一ID字典)。
doc
变量存储了databases.create_document()
返回的词典。使用此doc
变量,代码检索 id , image , title ,作者和类型添加的文档并打印它们。
如果在try
块的执行过程中出现异常,则代码捕获错误并显示错误消息。
数据
# Data To Be Added
book_1 = {
"id": 1,
"image": "https://i.pinimg.com/474x/dc/17/2d/dc172d6fa3f5461d94e6d384aded2cb4.jpg",
"title": "The Great Gatsby",
"author": "F. Scott Fitzgerald",
"genre": "Fiction"
}
book_2 = {
"id": 2,
"image": "https://i.pinimg.com/originals/0b/bf/b5/0bbfb59b4d5592e2e7fac9930012ce6d.jpg",
"title": "To Kill a Mockingbird",
"author": "Harper Lee",
"genre": "Fiction"
}
book_3 = {
"id": 3,
"image": "https://i.pinimg.com/736x/66/1d/17/661d179ab722e67eed274d24b8965b0d.jpg",
"title": "Pride and Prejudice",
"author": "Jane Austen",
"genre": "Romance"
}
book_4 = {
"id": 4,
"image": "https://i.pinimg.com/originals/68/c5/4c/68c54c9599ba37d9ab98c0c51afe2298.png",
"title": "Crime and Punishment",
"author": "Fyodor Dostoevsky",
"genre": "Psychological Fiction"
}
# Calling function with the data to be added
add_doc(book_1)
add_doc(book_2)
add_doc(book_3)
add_doc(book_4)
print("Documents Successfully Added.")
运行整个代码时,将提示以下输出,并且将创建数据库,收集和属性,然后添加文档。
Database Successfully Created.
Collection Successfully Created.
Attributes Successfully Created.
Id: 1
Image: https://i.pinimg.com/474x/dc/17/2d/dc172d6fa3f5461d94e6d384aded2cb4.jpg
Title: The Great Gatsby
Author: F. Scott Fitzgerald
Genre: Fiction
--------------------
Id: 2
Image: https://i.pinimg.com/originals/0b/bf/b5/0bbfb59b4d5592e2e7fac9930012ce6d.jpg
Title: To Kill a Mockingbird
Author: Harper Lee
Genre: Fiction
--------------------
Id: 3
Image: https://i.pinimg.com/736x/66/1d/17/661d179ab722e67eed274d24b8965b0d.jpg
Title: Pride and Prejudice
Author: Jane Austen
Genre: Romance
--------------------
Id: 4
Image: https://i.pinimg.com/originals/68/c5/4c/68c54c9599ba37d9ab98c0c51afe2298.png
Title: Crime and Punishment
Author: Fyodor Dostoevsky
Genre: Psychological Fiction
--------------------
Documents Successfully Added.
源代码
从以下GitHub存储库中访问完整的源代码,克隆或下载代码并将其运行在您喜欢的IDE中。
Python Script For Creating Appwrite Database
结论
教程带您介绍了在AppWrite Cloud中设置新数据库的步骤。它还包括用于创建新项目,为项目创建API密钥的说明,并从AppWrite Cloud中获取项目ID和API密钥。
创建数据库后,教程将通过添加集合和属性来完成使其充分发挥功能的步骤。然后以编程方式添加文档(数据)。
让我们介绍创建新数据库的本教程中的步骤:
-
获得必要的AppWrite Cloud凭据
-
安装Python软件包
appwrite
-
制作数据库
-
制作收集
-
添加属性
-
编程添加文档
如果您喜欢这个 ,您可能会感兴趣的其他文章
How to connect the PostgreSQL database with Python?
Upload and display images on the frontend using Flask in Python。
Building a Flask image recognition webapp using a deep learning model。
Building a custom deep learning model using transfer learning。
How to augment the data for training using Keras and Python?
How to build a CLI command in a few steps using argparse in Python?
How to use Async/Await like JavaScript in Python?
How to scrape a webpage's content using BeautifulSoup in Python?
这就是目前的全部
保持编码