Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK
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à.
Utilizzo PutRecord con un AWS SDK o una CLI
Gli esempi di codice seguenti mostrano come utilizzare PutRecord.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nel seguente esempio di codice:
- CLI
-
- AWS CLI
-
Come scrivere un record in un flusso
L’esempio
put-recordseguente scrive dati in un flusso. I dati sono codificati nel formato Base64.aws firehose put-record \ --delivery-stream-namemy-stream\ --record '{"Data":"SGVsbG8gd29ybGQ="}'Output:
{ "RecordId": "RjB5K/nnoGFHqwTsZlNd/TTqvjE8V5dsyXZTQn2JXrdpMTOwssyEb6nfC8fwf1whhwnItt4mvrn+gsqeK5jB7QjuLg283+Ps4Sz/j1Xujv31iDhnPdaLw4BOyM9Amv7PcCuB2079RuM0NhoakbyUymlwY8yt20G8X2420wu1jlFafhci4erAt7QhDEvpwuK8N1uOQ1EuaKZWxQHDzcG6tk1E49IPeD9k", "Encrypted": false }Per ulteriori informazioni, consulta Invio di dati a un flusso di distribuzione Amazon Kinesis Data Firehose nella Guida per sviluppatori di Amazon Kinesis Data Firehose.
-
Per i dettagli sull'API, consulta PutRecord AWS CLI
Command Reference.
-
- Java
-
- SDK per Java 2.x
-
Nota
C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. /** * Puts a record to the specified Amazon Kinesis Data Firehose delivery stream. * * @param record The record to be put to the delivery stream. The record must be a {@link Map} of String keys and Object values. * @param deliveryStreamName The name of the Amazon Kinesis Data Firehose delivery stream to which the record should be put. * @throws IllegalArgumentException if the input record or delivery stream name is null or empty. * @throws RuntimeException if there is an error putting the record to the delivery stream. */ public static void putRecord(Map<String, Object> record, String deliveryStreamName) { if (record == null || deliveryStreamName == null || deliveryStreamName.isEmpty()) { throw new IllegalArgumentException("Invalid input: record or delivery stream name cannot be null/empty"); } try { String jsonRecord = new ObjectMapper().writeValueAsString(record); Record firehoseRecord = Record.builder() .data(SdkBytes.fromByteArray(jsonRecord.getBytes(StandardCharsets.UTF_8))) .build(); PutRecordRequest putRecordRequest = PutRecordRequest.builder() .deliveryStreamName(deliveryStreamName) .record(firehoseRecord) .build(); getFirehoseClient().putRecord(putRecordRequest); System.out.println("Record sent: " + jsonRecord); } catch (Exception e) { throw new RuntimeException("Failed to put record: " + e.getMessage(), e); } }-
Per i dettagli sull'API, PutRecordconsulta AWS SDK for Java 2.x API Reference.
-
- Python
-
- SDK per Python (Boto3)
-
Nota
C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. class FirehoseClient: """ AWS Firehose client to send records and monitor metrics. Attributes: config (object): Configuration object with delivery stream name and region. delivery_stream_name (str): Name of the Firehose delivery stream. region (str): AWS region for Firehose and CloudWatch clients. firehose (boto3.client): Boto3 Firehose client. cloudwatch (boto3.client): Boto3 CloudWatch client. """ def __init__(self, config): """ Initialize the FirehoseClient. Args: config (object): Configuration object with delivery stream name and region. """ self.config = config self.delivery_stream_name = config.delivery_stream_name self.region = config.region self.firehose = boto3.client("firehose", region_name=self.region) self.cloudwatch = boto3.client("cloudwatch", region_name=self.region) @backoff.on_exception( backoff.expo, Exception, max_tries=5, jitter=backoff.full_jitter ) def put_record(self, record: dict): """ Put individual records to Firehose with backoff and retry. Args: record (dict): The data record to be sent to Firehose. This method attempts to send an individual record to the Firehose delivery stream. It retries with exponential backoff in case of exceptions. """ try: entry = self._create_record_entry(record) response = self.firehose.put_record( DeliveryStreamName=self.delivery_stream_name, Record=entry ) self._log_response(response, entry) except Exception: logger.info(f"Fail record: {record}.") raise-
Per i dettagli sull'API, consulta PutRecord AWSSDK for Python (Boto3) API Reference.
-
- SAP ABAP
-
- SDK per SAP ABAP
-
Nota
C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. TRY. DATA(lo_record) = NEW /aws1/cl_frhrecord( iv_data = iv_data ). DATA(lo_result) = lo_frh->putrecord( iv_deliverystreamname = iv_deliv_stream_name io_record = lo_record ). MESSAGE 'Record sent to Firehose delivery stream.' TYPE 'I'. CATCH /aws1/cx_frhresourcenotfoundex. MESSAGE 'Delivery stream not found.' TYPE 'E'. CATCH /aws1/cx_frhinvalidargumentex. MESSAGE 'Invalid argument provided.' TYPE 'E'. CATCH /aws1/cx_frhserviceunavailex. MESSAGE 'Service temporarily unavailable.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, PutRecordconsulta AWS SDK for SAP ABAP API reference.
-