Skip to content

new-sink-connector-apitable-proposal #327

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions proposals/sink_apitable_proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Sink APITable Proposal

## Description

The APITable Sink is used to push data (from incoming CloudEvents) to rows/records in APITable.

## Programming Language

-[x] Golang

## Prerequisites

- APITable account
- API Token, visit the workbench of APITable, click on the personal avatar in the lower left corner, and enter [My Setting > Developer]. Click generate token (binding email required for first use).

## Connector Details

### Configuration

| Name | Required | Default | Description |
| :---------- | :------: | :-----: | ----------------------------------------------------------------------------------------- |
| datasheetId | YES | | Datasheet ID |
| token | YES | | The user authentication token |
| fields | YES | | Columns in APITable |

### Connector Behavior

If an incoming CloudEvents looks like:

```json
{
"id": "88767821-92c2-477d-9a6f-bfdfbed19c6a",
"source": "quickstart",
"specversion": "1.0",
"type": "test",
"time": "2022-07-08T03:17:03.139Z",
"datacontenttype": "application/json",
"data": {
"records": [
{
"fields": {
"field1": 18,
"field2": "xyz",
"field3": "Development Manager",
"field4": "2022-07-06"
}
}
]
}
}
```

The APITable Sink will create a new row with values (18, "xyz", "Development Manager", "2022-07-06") to each coresponding field names to the Datasheet specified in the configuration.

### Used Libraries/APIs

[APITable SDKs](https://developers.apitable.com/api/quick-start)