@walkeros/server-destination-aws 0.0.0-next-20251219153324
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +117 -0
- package/dist/dev.d.mts +42 -0
- package/dist/dev.d.ts +42 -0
- package/dist/dev.js +1 -0
- package/dist/dev.js.map +1 -0
- package/dist/dev.mjs +1 -0
- package/dist/dev.mjs.map +1 -0
- package/dist/examples/index.d.mts +25 -0
- package/dist/examples/index.d.ts +25 -0
- package/dist/examples/index.js +70 -0
- package/dist/examples/index.mjs +48 -0
- package/dist/index.d.mts +57 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -0
- package/dist/schemas.d.mts +7 -0
- package/dist/schemas.d.ts +7 -0
- package/dist/schemas.js +1 -0
- package/dist/schemas.js.map +1 -0
- package/dist/schemas.mjs +1 -0
- package/dist/schemas.mjs.map +1 -0
- package/package.json +62 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 elbWalker GmbH
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<p align="left">
|
|
2
|
+
<a href="https://www.walkeros.io">
|
|
3
|
+
<img title="elbwalker" src="https://www.walkeros.io/img/elbwalker_logo.png" width="256px"/>
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
# AWS (Firehose) Destination for walkerOS
|
|
8
|
+
|
|
9
|
+
[Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/aws)
|
|
10
|
+
•
|
|
11
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-aws)
|
|
12
|
+
|
|
13
|
+
walkerOS follows a **source → collector → destination** architecture. This AWS
|
|
14
|
+
destination receives processed events from the walkerOS collector and streams
|
|
15
|
+
them to AWS services like Firehose, enabling real-time data ingestion into AWS
|
|
16
|
+
data lakes, warehouses, and analytics services for large-scale event processing
|
|
17
|
+
and analysis.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npm install @walkeros/server-destination-aws
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
Configure in your Flow JSON:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"version": 1,
|
|
32
|
+
"flows": {
|
|
33
|
+
"default": {
|
|
34
|
+
"server": {},
|
|
35
|
+
"destinations": {
|
|
36
|
+
"firehose": {
|
|
37
|
+
"package": "@walkeros/server-destination-aws",
|
|
38
|
+
"config": {
|
|
39
|
+
"settings": {
|
|
40
|
+
"firehose": {
|
|
41
|
+
"streamName": "your-firehose-stream-name",
|
|
42
|
+
"region": "eu-central-1"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Or programmatically:
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
import { startFlow } from '@walkeros/collector';
|
|
57
|
+
import { destinationFirehose } from '@walkeros/server-destination-aws';
|
|
58
|
+
|
|
59
|
+
const { elb } = await startFlow({
|
|
60
|
+
destinations: [
|
|
61
|
+
{
|
|
62
|
+
destination: destinationFirehose,
|
|
63
|
+
config: {
|
|
64
|
+
settings: {
|
|
65
|
+
firehose: {
|
|
66
|
+
streamName: 'your-firehose-stream-name',
|
|
67
|
+
region: 'eu-central-1',
|
|
68
|
+
config: {
|
|
69
|
+
credentials: {
|
|
70
|
+
accessKeyId: 'your-access-key-id',
|
|
71
|
+
secretAccessKey: 'your-secret-access-key',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Configuration
|
|
83
|
+
|
|
84
|
+
| Name | Type | Description | Required | Example |
|
|
85
|
+
| ---------- | ---------------- | ----------------------------------- | -------- | ------------------------------------------------------ |
|
|
86
|
+
| `firehose` | `FirehoseConfig` | AWS Firehose configuration settings | No | `{ streamName: 'walker-events', region: 'us-east-1' }` |
|
|
87
|
+
|
|
88
|
+
### Firehose Configuration
|
|
89
|
+
|
|
90
|
+
The `firehose` object has the following properties:
|
|
91
|
+
|
|
92
|
+
| Name | Type | Description | Required | Example |
|
|
93
|
+
| ------------ | ---------------------- | ------------------------------------------------- | -------- | --------------------------------- |
|
|
94
|
+
| `streamName` | `string` | Name of the Kinesis Data Firehose delivery stream | Yes | `'walker-events'` |
|
|
95
|
+
| `client` | `FirehoseClient` | Pre-configured AWS Firehose client instance | No | `new FirehoseClient(config)` |
|
|
96
|
+
| `region` | `string` | AWS region for the Firehose service | No | `'us-east-1'` |
|
|
97
|
+
| `config` | `FirehoseClientConfig` | AWS SDK client configuration options | No | `{ credentials: awsCredentials }` |
|
|
98
|
+
|
|
99
|
+
## Type Definitions
|
|
100
|
+
|
|
101
|
+
See [src/types/](./src/types/) for TypeScript interfaces.
|
|
102
|
+
|
|
103
|
+
## Related
|
|
104
|
+
|
|
105
|
+
- [Website Documentation](https://www.walkeros.io/docs/destinations/server/aws/)
|
|
106
|
+
- [Destination Interface](../../../core/src/types/destination.ts)
|
|
107
|
+
|
|
108
|
+
## Contribute
|
|
109
|
+
|
|
110
|
+
Feel free to contribute by submitting an
|
|
111
|
+
[issue](https://github.com/elbwalker/walkerOS/issues), starting a
|
|
112
|
+
[discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
|
|
113
|
+
[contact](https://calendly.com/elb-alexander/30min).
|
|
114
|
+
|
|
115
|
+
## License
|
|
116
|
+
|
|
117
|
+
This project is licensed under the MIT License.
|
package/dist/dev.d.mts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
|
+
import { DestinationServer } from '@walkeros/server-core';
|
|
3
|
+
import { FirehoseClient, PutRecordBatchCommand } from '@aws-sdk/client-firehose';
|
|
4
|
+
|
|
5
|
+
declare const settings: _walkeros_core_dev.JSONSchema;
|
|
6
|
+
declare const mapping: _walkeros_core_dev.JSONSchema;
|
|
7
|
+
declare const firehose: _walkeros_core_dev.JSONSchema;
|
|
8
|
+
|
|
9
|
+
declare const schemas_firehose: typeof firehose;
|
|
10
|
+
declare const schemas_mapping: typeof mapping;
|
|
11
|
+
declare const schemas_settings: typeof settings;
|
|
12
|
+
declare namespace schemas {
|
|
13
|
+
export { schemas_firehose as firehose, schemas_mapping as mapping, schemas_settings as settings };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface Env extends DestinationServer.Env {
|
|
17
|
+
AWS: {
|
|
18
|
+
FirehoseClient: typeof FirehoseClient;
|
|
19
|
+
PutRecordBatchCommand: typeof PutRecordBatchCommand;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare const push: Env;
|
|
24
|
+
declare const simulation: string[];
|
|
25
|
+
|
|
26
|
+
declare const env_push: typeof push;
|
|
27
|
+
declare const env_simulation: typeof simulation;
|
|
28
|
+
declare namespace env {
|
|
29
|
+
export { env_push as push, env_simulation as simulation };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare const index$1_env: typeof env;
|
|
33
|
+
declare namespace index$1 {
|
|
34
|
+
export { index$1_env as env };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare const index_env: typeof env;
|
|
38
|
+
declare namespace index {
|
|
39
|
+
export { index_env as env, index$1 as firehose };
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { index as examples, schemas };
|
package/dist/dev.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
|
+
import { DestinationServer } from '@walkeros/server-core';
|
|
3
|
+
import { FirehoseClient, PutRecordBatchCommand } from '@aws-sdk/client-firehose';
|
|
4
|
+
|
|
5
|
+
declare const settings: _walkeros_core_dev.JSONSchema;
|
|
6
|
+
declare const mapping: _walkeros_core_dev.JSONSchema;
|
|
7
|
+
declare const firehose: _walkeros_core_dev.JSONSchema;
|
|
8
|
+
|
|
9
|
+
declare const schemas_firehose: typeof firehose;
|
|
10
|
+
declare const schemas_mapping: typeof mapping;
|
|
11
|
+
declare const schemas_settings: typeof settings;
|
|
12
|
+
declare namespace schemas {
|
|
13
|
+
export { schemas_firehose as firehose, schemas_mapping as mapping, schemas_settings as settings };
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface Env extends DestinationServer.Env {
|
|
17
|
+
AWS: {
|
|
18
|
+
FirehoseClient: typeof FirehoseClient;
|
|
19
|
+
PutRecordBatchCommand: typeof PutRecordBatchCommand;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare const push: Env;
|
|
24
|
+
declare const simulation: string[];
|
|
25
|
+
|
|
26
|
+
declare const env_push: typeof push;
|
|
27
|
+
declare const env_simulation: typeof simulation;
|
|
28
|
+
declare namespace env {
|
|
29
|
+
export { env_push as push, env_simulation as simulation };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare const index$1_env: typeof env;
|
|
33
|
+
declare namespace index$1 {
|
|
34
|
+
export { index$1_env as env };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare const index_env: typeof env;
|
|
38
|
+
declare namespace index {
|
|
39
|
+
export { index_env as env, index$1 as firehose };
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { index as examples, schemas };
|