类 KinesisSink
java.lang.Object
org.apache.pulsar.io.aws.AbstractAwsConnector
org.apache.pulsar.io.kinesis.KinesisSink
- 所有已实现的接口:
AutoCloseable,org.apache.pulsar.io.core.Sink<byte[]>
public class KinesisSink
extends org.apache.pulsar.io.aws.AbstractAwsConnector
implements org.apache.pulsar.io.core.Sink<byte[]>
A Kinesis sink which can be configured by
KinesisSinkConfig.
KinesisSinkConfigaccepts 1. awsEndpoint: kinesis end-point url can be found at : https://docs.aws.amazon.com/general/latest/gr/rande.html 2. awsRegion: appropriate aws region eg: us-west-1, us-west-2 3. awsKinesisStreamName: kinesis stream name 4. awsCredentialPluginName: Fully-Qualified class name of implementation ofAwsCredentialProviderPlugin. - It is a factory class which creates anAWSCredentialsProviderthat will be used byKinesisProducer- If it is empty thenKinesisSinkcreates defaultAWSCredentialsProviderwhich accepts json-map of credentials in awsCredentialPluginParam eg: awsCredentialPluginParam = {"accessKey":"my-access-key","secretKey":"my-secret-key"} 5. awsCredentialPluginParam: json-parameters to initializeAwsCredentialProviderPlugin6. messageFormat: enum:["ONLY_RAW_PAYLOAD","FULL_MESSAGE_IN_JSON"] a. ONLY_RAW_PAYLOAD: publishes raw payload to stream b. FULL_MESSAGE_IN_JSON: publish full message (encryptionCtx + properties + payload) in json format json-schema: {"type":"object","properties":{"encryptionCtx":{"type":"object","properties":{"metadata":{"type":"object","additionalProperties":{"type":"string"}},"uncompressedMessageSize":{"type":"integer"},"keysMetadataMap":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string"}}},"keysMapBase64":{"type":"object","additionalProperties":{"type":"string"}},"encParamBase64":{"type":"string"},"compressionType":{"type":"string","enum":["NONE","LZ4","ZLIB"]},"batchSize":{"type":"integer"},"algorithm":{"type":"string"}}},"payloadBase64":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}}} Example: {"payloadBase64":"cGF5bG9hZA==","properties":{"prop1":"value"},"encryptionCtx":{"keysMapBase64":{"key1":"dGVzdDE=","key2":"dGVzdDI="},"keysMetadataMap":{"key1":{"ckms":"cmks-1","version":"v1"},"key2":{"ckms":"cmks-2","version":"v2"}},"metadata":{"ckms":"cmks-1","version":"v1"},"encParamBase64":"cGFyYW0=","algorithm":"algo","compressionType":"LZ4","uncompressedMessageSize":10,"batchSize":10}}
-
字段概要
字段从类继承的字段 org.apache.pulsar.io.aws.AbstractAwsConnector
ACCESS_KEY_NAME, SECRET_KEY_NAME -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidclose()static ByteBuffercreateKinesisMessage(KinesisSinkConfig.MessageFormat msgFormat, org.apache.pulsar.functions.api.Record<byte[]> record) voidvoidwrite(org.apache.pulsar.functions.api.Record<byte[]> record) 从类继承的方法 org.apache.pulsar.io.aws.AbstractAwsConnector
createCredentialProvider, createCredentialProviderWithPlugin, defaultCredentialProvider
-
字段详细资料
-
构造器详细资料
-
KinesisSink
public KinesisSink()
-
-
方法详细资料
-
write
- 指定者:
write在接口中org.apache.pulsar.io.core.Sink<byte[]>- 抛出:
Exception
-
close
- 指定者:
close在接口中AutoCloseable- 抛出:
IOException
-
open
public void open(Map<String, Object> config, org.apache.pulsar.io.core.SinkContext sinkContext) throws Exception- 指定者:
open在接口中org.apache.pulsar.io.core.Sink<byte[]>- 抛出:
Exception
-
createKinesisMessage
public static ByteBuffer createKinesisMessage(KinesisSinkConfig.MessageFormat msgFormat, org.apache.pulsar.functions.api.Record<byte[]> record)
-