

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# `Event`Lambda-Telemetrie-API-Objekte in Spans konvertieren OpenTelemetry
<a name="telemetry-otel-spans"></a>

Das AWS Lambda Telemetrie-API-Schema ist semantisch kompatibel mit (). OpenTelemetry OTel Das bedeutet, dass Sie Ihre AWS Lambda `Event` Telemetrie-API-Objekte in OpenTelemetry () OTel -Spans konvertieren können. Bei der Konvertierung sollten Sie kein einzelnes `Event` Objekt einem einzelnen Span zuordnen. OTel Stattdessen sollten Sie alle drei Ereignisse, die sich auf eine Lebenszyklusphase beziehen, in einem einzigen OTel Span darstellen. Die `start`, `runtimeDone`, und `runtimeReport`-Ereignisse repräsentieren beispielsweise einen einzelnen Funktionsaufruf. Präsentieren Sie alle drei Ereignisse als einen einzigen OTel Span.

Sie können Ihre Ereignisse mithilfe von Span-Ereignissen oder untergeordneten (verschachtelten) Spans konvertieren. In den Tabellen auf dieser Seite werden die Zuordnungen zwischen den Eigenschaften des Telemetrie-API-Schemas und den OTel Span-Eigenschaften für beide Ansätze beschrieben. Weitere Informationen zu OTel Spans finden Sie unter [Span](https://opentelemetry.io/docs/reference/specification/trace/api/#span) auf der **Tracing-API-Seite** der Docs-Website. OpenTelemetry 

**Topics**
+ [Ordnen Sie OTel Spans mit Span-Ereignissen zu](#telemetry-otel-span-events)
+ [Ordnen Sie OTel Spans mit untergeordneten Spans zu](#telemetry-otel-child-spans)

## Ordnen Sie OTel Spans mit Span-Ereignissen zu
<a name="telemetry-otel-span-events"></a>

In den folgenden Tabellen stellt `e` das Ereignis dar, das von der Telemetrie-Quelle stammt.

**Zuordnung der \$1Start-Ereignisse**


| OpenTelemetry | Schema der Lambda-Telemetrie-API | 
| --- | --- | 
|  `Span.Name`  |  Ihre Erweiterung generiert diesen Wert basierend auf dem `type`-Feld.  | 
|  `Span.StartTime`  |  Verwenden Sie `e.time`.  | 
|  `Span.EndTime`  |  Nicht zutreffend, da das Ereignis noch nicht abgeschlossen ist.  | 
|  `Span.Kind`  |  Setzen Sie diesen Wert auf `Server`.  | 
|  `Span.Status`  |  Setzen Sie diesen Wert auf `Unset`.  | 
|  `Span.TraceId`  |  Analysieren Sie den in gefundenen AWS X-Ray Header `e.tracing.value` und verwenden Sie dann den `TraceId` Wert.  | 
|  `Span.ParentId`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Parent`-Wert.  | 
|  `Span.SpanId`  |  Verwenden Sie `e.tracing.spanId`, falls verfügbar. Generieren Sie andernfalls eine neue `SpanId`.  | 
|  `Span.SpanContext.TraceState`  |  Nicht zutreffend für einen X-Ray-Ablaufverfolgungskontext.  | 
|  `Span.SpanContext.TraceFlags`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Sampled`-Wert.  | 
|  `Span.Attributes`  |  Ihre Erweiterung kann hier beliebige benutzerdefinierte Werte hinzufügen.  | 

**Zuordnen der RuntimeDone \$1-Ereignisse**


| OpenTelemetry | Schema der Lambda-Telemetrie-API | 
| --- | --- | 
|  `Span.Name`  |  Ihre Erweiterung generiert den Wert basierend auf dem `type`-Feld.  | 
|  `Span.StartTime`  |  Verwenden Sie `e.time` aus dem übereinstimmenden `*Start`-Ereignis. Als alternative Vorgehensweise verwenden Sie `e.time - e.metrics.durationMs`.  | 
|  `Span.EndTime`  |  Nicht zutreffend, da das Ereignis noch nicht abgeschlossen ist.  | 
|  `Span.Kind`  |  Setzen Sie diesen Wert auf `Server`.  | 
|  `Span.Status`  |  Wenn `e.status` nicht gleich `success` ist, dann Wert auf `Error` festlegen. Ansonsten auf `Ok` festlegen.  | 
|  `Span.Events[]`  |  Verwenden Sie `e.spans[]`.  | 
|  `Span.Events[i].Name`  |  Verwenden Sie `e.spans[i].name`.  | 
|  `Span.Events[i].Time`  |  Verwenden Sie `e.spans[i].start`.  | 
|  `Span.TraceId`  |  Analysieren Sie den in gefundenen AWS X-Ray Header `e.tracing.value` und verwenden Sie dann den `TraceId` Wert.  | 
|  `Span.ParentId`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Parent`-Wert.  | 
|  `Span.SpanId`  |  Verwenden Sie dieselbe `SpanId` aus dem `*Start`-Ereignis. Falls nicht verfügbar, verwenden Sie `e.tracing.spanId` oder generieren Sie eine neue `SpanId`.  | 
|  `Span.SpanContext.TraceState`  |  Nicht zutreffend für einen X-Ray-Ablaufverfolgungskontext.  | 
|  `Span.SpanContext.TraceFlags`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Sampled`-Wert.  | 
|  `Span.Attributes`  |  Ihre Erweiterung kann hier beliebige benutzerdefinierte Werte hinzufügen.  | 

**Zuordnung der \$1Report-Ereignisse**


| OpenTelemetry | Schema der Lambda-Telemetrie-API | 
| --- | --- | 
|  `Span.Name`  |  Ihre Erweiterung generiert den Wert basierend auf dem `type`-Feld.  | 
|  `Span.StartTime`  |  Verwenden Sie `e.time` aus dem übereinstimmenden `*Start`-Ereignis. Als alternative Vorgehensweise verwenden Sie `e.time - e.metrics.durationMs`.  | 
|  `Span.EndTime`  |  Verwenden Sie `e.time`.  | 
|  `Span.Kind`  |  Setzen Sie diesen Wert auf `Server`.  | 
|  `Span.Status`  |  Verwenden Sie den gleichen Wert wie das `*RuntimeDone`-Ereignis.  | 
|  `Span.TraceId`  |  Analysieren Sie den AWS X-Ray Header, der in gefunden wurde`e.tracing.value`, und verwenden Sie dann den `TraceId` Wert.  | 
|  `Span.ParentId`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Parent`-Wert.  | 
|  `Span.SpanId`  |  Verwenden Sie dieselbe `SpanId` aus dem `*Start`-Ereignis. Falls nicht verfügbar, verwenden Sie `e.tracing.spanId` oder generieren Sie eine neue `SpanId`.  | 
|  `Span.SpanContext.TraceState`  |  Nicht zutreffend für einen X-Ray-Ablaufverfolgungskontext.  | 
|  `Span.SpanContext.TraceFlags`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Sampled`-Wert.  | 
|  `Span.Attributes`  |  Ihre Erweiterung kann hier beliebige benutzerdefinierte Werte hinzufügen.  | 

## Ordnen Sie OTel Spans mit untergeordneten Spans zu
<a name="telemetry-otel-child-spans"></a>

In der folgenden Tabelle wird beschrieben, wie Lambda-Telemetrie-API-Ereignisse in OTel Spans mit untergeordneten (verschachtelten) Spans for Spans konvertiert werden. `*RuntimeDone` Informationen zu `*Start`- und `*Report`-Zuordnungen finden Sie in den Tabellen in [Ordnen Sie OTel Spans mit Span-Ereignissen zu](#telemetry-otel-span-events), da diese für untergeordnete Spans identisch sind. In dieser Tabelle stellt `e` das Ereignis dar, das von der Telemetrie-Quelle stammt.

**RuntimeDone Zuordnung der \$1-Ereignisse**


| OpenTelemetry | Schema der Lambda-Telemetrie-API | 
| --- | --- | 
|  `Span.Name`  |  Ihre Erweiterung generiert den Wert basierend auf dem `type`-Feld.  | 
|  `Span.StartTime`  |  Verwenden Sie `e.time` aus dem übereinstimmenden `*Start`-Ereignis. Als alternative Vorgehensweise verwenden Sie `e.time - e.metrics.durationMs`.  | 
|  `Span.EndTime`  |  Nicht zutreffend, da das Ereignis noch nicht abgeschlossen ist.  | 
|  `Span.Kind`  |  Setzen Sie diesen Wert auf `Server`.  | 
|  `Span.Status`  |  Wenn `e.status` nicht gleich `success` ist, dann Wert auf `Error` festlegen. Ansonsten auf `Ok` festlegen.  | 
|  `Span.TraceId`  |  Analysieren Sie den in gefundenen AWS X-Ray Header `e.tracing.value` und verwenden Sie dann den `TraceId` Wert.  | 
|  `Span.ParentId`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Parent`-Wert.  | 
|  `Span.SpanId`  |  Verwenden Sie dieselbe `SpanId` aus dem `*Start`-Ereignis. Falls nicht verfügbar, verwenden Sie `e.tracing.spanId` oder generieren Sie eine neue `SpanId`.  | 
|  `Span.SpanContext.TraceState`  |  Nicht zutreffend für einen X-Ray-Ablaufverfolgungskontext.  | 
|  `Span.SpanContext.TraceFlags`  |  Analysieren Sie den X-Ray-Header, der in `e.tracing.value` gefunden wurde, und verwenden Sie dann den `Sampled`-Wert.  | 
|  `Span.Attributes`  |  Ihre Erweiterung kann hier beliebige benutzerdefinierte Werte hinzufügen.  | 
|  `ChildSpan[i].Name`  |  Verwenden Sie `e.spans[i].name`.  | 
|  `ChildSpan[i].StartTime`  |  Verwenden Sie `e.spans[i].start`.  | 
|  `ChildSpan[i].EndTime`  |  Verwenden Sie `e.spans[i].start + e.spans[i].durations`.  | 
|  `ChildSpan[i].Kind`  |  Wie bei übergeordnetem `Span.Kind`.  | 
|  `ChildSpan[i].Status`  |  Wie bei übergeordnetem `Span.Status`.  | 
|  `ChildSpan[i].TraceId`  |  Wie bei übergeordnetem `Span.TraceId`.  | 
|  `ChildSpan[i].ParentId`  |  Verwenden Sie die übergeordnete `Span.SpanId`.  | 
|  `ChildSpan[i].SpanId`  |  Generieren Sie eine neue `SpanId`.  | 
|  `ChildSpan[i].SpanContext.TraceState`  |  Nicht zutreffend für einen X-Ray-Ablaufverfolgungskontext.  | 
|  `ChildSpan[i].SpanContext.TraceFlags`  |  Wie bei übergeordnetem `Span.SpanContext.TraceFlags`.  | 