Skip to content

Commit bc84ea9

Browse files
algolia-botshortcutsmillotp
committed
guides: add pushSetup for ingestion API (#4126) (generated) [skip ci]
Co-authored-by: Clément Vannicatte <[email protected]> Co-authored-by: Pierre Millot <[email protected]>
1 parent e199125 commit bc84ea9

File tree

21 files changed

+312
-17
lines changed

21 files changed

+312
-17
lines changed

docs/guides/csharp/.config/dotnet-tools.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"isRoot": true,
44
"tools": {
55
"csharpier": {
6-
"version": "0.29.2",
6+
"version": "0.30.1",
77
"commands": [
88
"dotnet-csharpier"
99
]
1010
}
1111
}
12-
}
12+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text.Json;
4+
using Algolia.Search.Clients;
5+
using Algolia.Search.Models.Ingestion;
6+
using static Algolia.Search.Models.Ingestion.PushTaskRecords;
7+
using Action = Algolia.Search.Models.Ingestion.Action;
8+
9+
class PushSetup
10+
{
11+
public static async Task Main(string[] args)
12+
{
13+
string jsonContent = File.ReadAllText("/my-raw-records.json");
14+
15+
var records = JsonSerializer.Deserialize<List<PushTaskRecords>>(jsonContent);
16+
17+
// use the region matching your applicationID
18+
var client = new IngestionClient(
19+
new IngestionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
20+
);
21+
22+
try
23+
{
24+
var run = await client.PushTaskAsync(
25+
"YOUR_TASK_ID",
26+
new PushTaskPayload { Action = Enum.Parse<Action>("AddObject"), Records = records }
27+
);
28+
Console.WriteLine(run.RunID);
29+
}
30+
catch (Exception e)
31+
{
32+
Console.WriteLine(e.Message);
33+
}
34+
}
35+
}

docs/guides/csharp/src/saveObjectsMovies.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
using System;
2-
using System.Text.Json;
3-
using System.Net.Http;
42
using System.Collections.Generic;
5-
3+
using System.Net.Http;
4+
using System.Text.Json;
65
using Algolia.Search.Clients;
76
using Algolia.Search.Models.Search;
87

9-
class Program
8+
class SaveObjectsMovies
109
{
1110
public static async Task Main(string[] args)
1211
{
@@ -25,9 +24,7 @@ public static async Task Main(string[] args)
2524
// push data to algolia
2625
try
2726
{
28-
var result = await client.SaveObjectsAsync("<YOUR_INDEX_NAME>"
29-
, movies
30-
);
27+
var result = await client.SaveObjectsAsync("<YOUR_INDEX_NAME>", movies);
3128
}
3229
catch (Exception e)
3330
{

docs/guides/csharp/src/src.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
5+
<TargetFramework>net9.0</TargetFramework>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<RootNamespace>Algolia</RootNamespace>

docs/guides/go/.golangci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ linters:
22
disable:
33
- ineffassign
44
- staticcheck
5+
- unused
56

67
issues:
78
exclude-generated: disable
89

910
run:
1011
concurrency: 2
11-
timeout: 10m
12+
timeout: 10m

docs/guides/go/src/pushSetup.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package main
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"os"
7+
8+
"github.com/algolia/algoliasearch-client-go/v4/algolia/ingestion"
9+
)
10+
11+
func push() {
12+
// use the region matching your applicationID
13+
client, err := ingestion.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", ingestion.US)
14+
if err != nil {
15+
// The client can fail to initialize if you pass an invalid parameter.
16+
panic(err)
17+
}
18+
19+
content, err := os.ReadFile("/my-raw-records.json")
20+
if err != nil {
21+
panic(err)
22+
}
23+
24+
var records []ingestion.PushTaskRecords
25+
26+
err = json.Unmarshal(content, &records)
27+
if err != nil {
28+
panic(err)
29+
}
30+
31+
run, err := client.PushTask(client.NewApiPushTaskRequest(
32+
"YOUR_TASK_ID",
33+
ingestion.NewEmptyPushTaskPayload().SetAction(ingestion.Action("addObject")).SetRecords(records),
34+
))
35+
if err != nil {
36+
panic(err)
37+
}
38+
39+
// use runID in the Observability debugger
40+
fmt.Println("run", run.RunID)
41+
}

docs/guides/go/src/saveObjectsMovies.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/algolia/algoliasearch-client-go/v4/algolia/search"
99
)
1010

11-
func main() {
11+
func saveObjectsMovies() {
1212
// read json file
1313
url := "https://dashboard.algolia.com/sample_datasets/movie.json"
1414
response, err := http.Get(url)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import com.algolia.api.IngestionClient;
2+
import com.algolia.model.ingestion.*;
3+
import com.fasterxml.jackson.databind.*;
4+
import java.io.File;
5+
import java.util.List;
6+
import java.util.Map;
7+
8+
public class pushSetup {
9+
10+
public static void main(String[] args) throws Exception {
11+
JsonNode content = new ObjectMapper().readTree(new File("/my-raw-records.json"));
12+
List<PushTaskRecords> records = new ObjectMapper().readerForListOf(Map.class).readValue(content);
13+
14+
// use the region matching your applicationID
15+
IngestionClient client = new IngestionClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
16+
17+
RunResponse run = client.pushTask("YOUR_TASK_ID", new PushTaskPayload().setAction(Action.ADD_OBJECT).setRecords(records));
18+
19+
// use runID in the Observability debugger
20+
System.out.println(run.getRunID());
21+
22+
client.close();
23+
}
24+
}

docs/guides/javascript/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "javascript-guides",
33
"version": "1.0.0",
4+
"type": "module",
45
"dependencies": {
56
"@algolia/client-common": "link:../../../clients/algoliasearch-client-javascript/packages/client-common",
67
"@algolia/requester-node-http": "link:../../../clients/algoliasearch-client-javascript/packages/requester-node-http",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import type { PushTaskRecords } from 'algoliasearch';
2+
import fs from 'node:fs';
3+
4+
import { algoliasearch } from 'algoliasearch';
5+
6+
// use the region matching your applicationID
7+
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initIngestion({ region: 'us' });
8+
9+
try {
10+
// read local JSON file containing array of records
11+
const records = JSON.parse(fs.readFileSync('/my-raw-records.json', 'utf8')) as PushTaskRecords[];
12+
13+
// push records to the API
14+
const run = await client.pushTask({
15+
taskID: 'YOUR_TASK_ID',
16+
pushTaskPayload: { action: 'addObject', records: records },
17+
});
18+
19+
// use runID in the Observability debugger
20+
console.log(run.runID);
21+
} catch (err) {
22+
console.error(err);
23+
}

0 commit comments

Comments
 (0)