Elastic.Ingest.Elasticsearch 0.7.0
前缀已保留
dotnet add package Elastic.Ingest.Elasticsearch --version 0.7.0
NuGet\Install-Package Elastic.Ingest.Elasticsearch -Version 0.7.0
<PackageReference Include="Elastic.Ingest.Elasticsearch" Version="0.7.0" />
paket add Elastic.Ingest.Elasticsearch --version 0.7.0
#r "nuget: Elastic.Ingest.Elasticsearch, 0.7.0"
// Install Elastic.Ingest.Elasticsearch as a Cake Addin #addin nuget:?package=Elastic.Ingest.Elasticsearch&version=0.7.0 // Install Elastic.Ingest.Elasticsearch as a Cake Tool #tool nuget:?package=Elastic.Ingest.Elasticsearch&version=0.7.0
Elastic.Ingest.Elasticsearch
Elastic.Channels
实现了BufferedChannelBase
,允许数据推送到索引或数据流中
DataStreamChannel<TEvent>
这是一种专门用于将带有时间戳的数据写入Elasticsearch数据流的通道。例如,给定以下文档。
public class TimeSeriesDocument
{
[JsonPropertyName("@timestamp")]
public DateTimeOffset Timestamp { get; set; }
[JsonPropertyName("message")]
public string Message { get; set; }
}
可以创建一个通道将数据推送到logs-dotnet-default
数据流。
var dataStream = new DataStreamName("logs", "dotnet");
var bufferOptions = new BufferOptions { }
var options = new DataStreamChannelOptions<TimeSeriesDocument>(transport)
{
DataStream = dataStream,
BufferOptions = bufferOptions
};
var channel = new DataStreamChannel<TimeSeriesDocument>(options);
注意:有关Elastic数据流命名约定的更多信息,请参见此处:https://elastic.ac.cn/blog/an-introduction-to-the-elastic-data-stream-naming-scheme
现在我们可以使用DataStreamChannel
将数据推送到Elasticsearch。
var doc = new TimeSeriesDocument
{
Timestamp = DateTimeOffset.Now,
Message = "Hello World!",
}
channel.TryWrite(doc);
目标数据流初始化
可选地,可以使用以下方式初始化目标数据流。
await channel.BootstrapElasticsearchAsync(BootstrapMethod.Failure, "7-days-default");
这将尝试设置目标数据流,并使用7-days-default
ILM策略。如果失败(因为提供了BootstrapMethod.Failure
),则引发异常。
将根据目标数据流的部分类型和数据集创建索引模板以及相关的组件模板。
IndexChannel<TEvent>
一个专门用于将目录数据写入Elastic索引的通道。目录数据通常是具有某种标识符的。
给定以下最小化文档
public class CatalogDocument
{
[JsonPropertyName("id")]
public string Id { get; set; }
[JsonPropertyName("title")]
public string Title { get; set; }
[JsonPropertyName("created")]
public DateTimeOffset Created { get; set; }
}
我们可以创建一个IndexChannel<>
来推送CatalogDocument
实例。
var options = new IndexChannelOptions<CatalogDocument>(transport)
{
IndexFormat = "catalog-data-{0:yyyy.MM.dd}",
BulkOperationIdLookup = c => c.Id,
TimestampLookup = c => c.Created,
};
var channel = new IndexChannel<CatalogDocument>(options);
现在我们可以使用以下方式推送数据
var doc = new CatalogDocument
{
Created = date,
Title = "Hello World!",
Id = "hello-world"
}
channel.TryWrite(doc);
这将向catalog-data-2023.01.1
推送数据,因为TimestampLookup
给出了对IndexFormat
的Created
值。
IndexFormat
也可以简单地是一个固定字符串,用于写入Elasticsearch别名/索引。
BulkOperationIdLookup
决定了文档应该使用create
还是index
操作推送到Elasticsearch。
引导目标索引
可选地,可以使用以下方式对目标索引进行引导。
await channel.BootstrapElasticsearchAsync(BootstrapMethod.Failure, "7-days-default");
这将尝试设置目标数据流,并使用7-days-default
ILM策略。如果失败(因为提供了BootstrapMethod.Failure
),则引发异常。
将根据名称使用IndexFormat
创建具有配套组件模板的索引模板。
产品 | 版本 兼容的并额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Elastic.Ingest.Transport (>= 0.7.0)
-
.NETStandard 2.1
- Elastic.Ingest.Transport (>= 0.7.0)
NuGet包 (1)
显示依赖Elastic.Ingest.Elasticsearch的顶级1个NuGet包
包 | 下载 |
---|---|
Elastic.Ingest.Elasticsearch.CommonSchema 包描述 |
GitHub仓库
此包未用于任何流行的GitHub仓库。
版本 | 下载 | 最后更新 |
---|---|---|
0.7.0 | 132,759 | 4/10/2024 |
0.6.0 | 201 | 3/28/2024 |
0.5.7 | 7,384 | 2/13/2024 |
0.5.6 | 337 | 1/22/2024 |
0.5.5 | 449,180 | 7/12/2023 |
0.5.4 | 157 | 7/10/2023 |
0.5.3 | 191 | 7/5/2023 |
0.5.2 | 197 | 6/22/2023 |
0.5.1 | 172 | 5/4/2023 |
0.5.0 | 83,215 | 4/28/2023 |
0.4.3 | 204 | 4/17/2023 |
0.4.2 | 337 | 4/5/2023 |
0.4.1 | 168 | 4/5/2023 |
0.4.0 | 182 | 4/5/2023 |
0.3.2 | 19,499 | 2/27/2023 |
0.3.1 | 655 | 2/20/2023 |
0.3.0 | 293 | 2/16/2023 |
0.2.2 | 475 | 1/31/2023 |
0.2.1 | 292 | 1/31/2023 |
0.2.0 | 290 | 1/31/2023 |
0.1.0 | 488 | 1/25/2023 |