With the launch of Appwrite 1.4, we're excited to share that we now have a .NET SDK available to build with Appwrite. This is a server-side SDK that targets .NET Standard 2.0, supporting a wide range of SDK versions across .NET, .NET Core, and .NET Framework.
Steps to Install
Currently, the SDK is distributed through the NuGet Package Manager.
You can use the Command Line to install the package in your project using the following commands:
# Package Manager
Install-Package Appwrite -Version 0.5.0
# or .NET CLI
dotnet add package Appwrite --version 0.5.0
Please make sure to add a reference to the package in your project’s .csproj
file, if it isn’t present already.
<PackageReference Include="Appwrite" Version="0.5.0" />
Getting Started with the SDK
Initializing the SDK
Once you have installed the package, you can import the package in your code and set your Appwrite credentials to start making API calls.
using Appwrite;
var client = new Client()
.SetEndpoint("http://cloud.appwrite.io/v1")
.SetProject("5ff3379a01d25")
.SetKey("cd868db89");
Consuming Appwrite Services
Once your SDK is initialized, you can start consuming the various APIs offered by Appwrite. Here are some examples:
Create a User
using Appwrite;
using Appwrite.Services;
using Appwrite.Models;
var users = new Users(client);
var user = await users.Create(
userId: ID.Unique(),
email: "email@example.com",
password: "password",
name: "name");
Add a Document To Your Database Collection
using Appwrite;
using Appwrite.Services;
using Appwrite.Models;
var databases = new Databases(client);
var document = await databases.CreateDocument(
databaseId: "[DATABASE_ID]",
collectionId: "[COLLECTION_ID]",
documentId: "[DOCUMENT_ID]",
data: [object]);
Upload a File
using Appwrite;
using Appwrite.Services;
using Appwrite.Models;
var storage = new Storage(client);
var file = await storage.CreateFile(
bucketId: "[BUCKET_ID]",
fileId: "[FILE_ID]",
file: new File("./path-to-files/image.jpg"));
Trigger a Function Execution
using Appwrite;
using Appwrite.Services;
using Appwrite.Models;
var functions = new Functions(client);
var execution = await functions.CreateExecution(
functionId: "[FUNCTION_ID]",
body: "[REQUEST_BODY]",
method: "POST",
path: "/");
Error Handling
The Appwrite .NET SDK throws an AppwriteException
object, which includes Message
, Code
, and Response
properties. You can handle any errors by catching AppwriteException
and presenting the Message
to the user or using the error types provided by Appwrite to decide the right type of error and display custom error messages. Below is an example:
using Appwrite;
using Appwrite.Services;
using Appwrite.Models;
var users = new Users(client);
try
{
var user = await users.Create(
userId: ID.Unique(),
email: "email@example.com",
password: "password",
name: "name");
}
catch (AppwriteException e)
{
Console.WriteLine(e.Message);
}
How to Contribute and Share Feedback
In case you discover any bugs/issues, want to share suggestions, or make contributions to the .NET SDK, please visit Appwrite’s SDK Generator repository on GitHub.
All contributions, including those by people with commit access, must go through a pull request and be approved by an Appwrite core team member before merging. This is to ensure a proper review of all the contributions. You can learn more by visiting the repo’s Contribution Guide.
Next Steps
We hope you will try the .NET SDK in your upcoming projects and share any thoughts and concerns you have with us. Here are some resources you can use to learn more about Appwrite and start building projects:
Top comments (4)
Hope you will have more Client SDKs .net version
We have thought about creating SDKs for different .NET based client-side frameworks. If you have any frameworks you'd like SDKs for, do share your thoughts here.
Nice work! Way to go Team Appwrite <3
Aye aye 🥳