Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Un flusso di dati può avere una o più partizioni. Il metodo consigliato per elencare o recuperare gli shard da un flusso di dati consiste nell'utilizzare il. ListShardsAPI L'esempio seguente mostra in che modo è possibile ottenere un elenco di partizioni di un flusso di dati. Per una descrizione completa dell'operazione principale utilizzata in questo esempio e di tutti i parametri che è possibile impostare per l'operazione, vedere. ListShards
import software.amazon.awssdk.services.kinesis.KinesisAsyncClient;
import software.amazon.awssdk.services.kinesis.model.ListShardsRequest;
import software.amazon.awssdk.services.kinesis.model.ListShardsResponse;
import java.util.concurrent.TimeUnit;
public class ShardSample {
public static void main(String[] args) {
KinesisAsyncClient client = KinesisAsyncClient.builder().build();
ListShardsRequest request = ListShardsRequest
.builder().streamName("myFirstStream")
.build();
try {
ListShardsResponse response = client.listShards(request).get(5000, TimeUnit.MILLISECONDS);
System.out.println(response.toString());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Per eseguire l'esempio di codice precedente, è possibile utilizzare un POM file come il seguente.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kinesis.data.streams.samples</groupId>
<artifactId>shards</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>kinesis</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
</project>
Con ListShards
API, è possibile utilizzare il ShardFilterparametro per filtrare la risposta diAPI. È possibile specificare un solo filtro alla volta.
Se si utilizza il ShardFilter
parametro quando si richiama la ListShardsAPI, Type
è la proprietà obbligatoria e deve essere specificata. Se si specificano i tipi AT_TRIM_HORIZON
, FROM_TRIM_HORIZON
o AT_LATEST
, non è necessario specificare né la proprietà ShardId
né la proprietà Timestamp
facoltative.
Se si specifica il tipo AFTER_SHARD_ID
, sarà necessario fornire anche il valore per la proprietà ShardId
facoltativa. La funzionalità della ShardId
proprietà è identica al ExclusiveStartShardId
parametro di ListShards API. Quando viene specificata la proprietà ShardId
, la risposta includerà le partizioni che iniziano con la partizione il cui ID segue immediatamente la ShardId
assegnata.
Se si specifica il tipo AT_TIMESTAMP
o FROM_TIMESTAMP_ID
, sarà necessario fornire anche il valore per la proprietà Timestamp
facoltativa. Se si specifica il tipo AT_TIMESTAMP
, verranno restituite tutte le partizioni aperte nel timestamp fornito. Se si specifica il FROM_TIMESTAMP
tipo, vengono restituiti tutti gli shard a partire dal timestamp fornito. TIP
Importante
DescribeStreamSummary
e ListShard
APIs offri un modo più scalabile per recuperare informazioni sui tuoi flussi di dati. Più specificamente, le quote per il possono causare limitazioni. DescribeStream API Per ulteriori informazioni, consulta Quote e limiti. Tieni inoltre presente che le DescribeStream
quote sono condivise tra tutte le applicazioni che interagiscono con tutti i flussi di dati del tuo account. AWS Le quote per ListShards API, invece, sono specifiche per un singolo flusso di dati. In questo modo non solo si ottiene un risultato più elevato TPS ListShards API, ma l'azione si adatta meglio man mano che si creano più flussi di dati.
Ti consigliamo di migrare tutti i produttori e i consumatori che chiamano invece di invocare and the DescribeStream API. DescribeStreamSummary ListShard APIs Per identificare questi produttori e consumatori, consigliamo di utilizzare Athena per analizzare CloudTrail i log come agenti utente KPL e KCL acquisiti nelle chiamate. API
SELECT useridentity.sessioncontext.sessionissuer.username,
useridentity.arn,eventname,useragent, count(*) FROM
cloudtrail_logs WHERE Eventname IN ('DescribeStream') AND
eventtime
BETWEEN ''
AND ''
GROUP BY useridentity.sessioncontext.sessionissuer.username,useridentity.arn,eventname,useragent
ORDER BY count(*) DESC LIMIT 100
Consigliamo inoltre di riconfigurare le integrazioni AWS Lambda e Amazon Firehose con Kinesis Data Streams che richiamano DescribeStream
API il. DescribeStreamSummary
ListShards
In particolare, per AWS Lambda, è necessario aggiornare la mappatura delle sorgenti degli eventi. Per Amazon Firehose, le IAM autorizzazioni corrispondenti devono essere aggiornate in modo da includere l'autorizzazione. ListShards
IAM