主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

isProperty

确定是否设置了 Kafka 流提供程序属性

自 R2022b 起

    此函数需要 Streaming Data Framework for MATLAB® Production Server™

    说明

    如果在流连接器对象 ks 中设置了 Kafka® 流提供程序属性 name,则 tf = isProperty(ks,name) 返回逻辑 1(真)。否则,它返回逻辑 0(假)。getProviderProperties 函数仅对 isProperty 返回 true 的属性返回非空属性数据。

    您可以在 name 中指定多个属性名称。tf 的长度等于 name 中的字符串属性名称的数量。

    示例

    tf = isProperty(ks,name,cat) 将属性搜索限制在 Kafka 流提供程序类别 cat 内。

    示例

    [tf,prop] = isProperty(___) 还返回属性名称和类别,prop。由于属性可以属于多个类别或未设置,因此 prop 的大小可能与 tf 不同。您可以使用任何前面的语法返回 prop

    [tf,prop,type] = isProperty(___) 还返回属性值的数据类型 typeproptype 参量的大小始终相同。

    示例

    示例

    全部折叠

    假设您有一个在网络地址 kafka.host.com:9092 上运行的 Kafka 服务器,该服务器有一个主题 CoolingFan

    创建一个连接到 Kafka 主机的 KafkaStream 对象,并在对象创建期间指定 Kafka 提供程序属性。

    ks = kafkaStream("kafka.host.com",9092,"CoolingFan", ...
    "security.protocol","SSL","ssl.truststore.type","PEM", ...
    "ssl.truststore.location","kafka-boston.pem","retention.ms",500);
    

    检查 security.protocolretention.ms 属性是否已设置。

    isProperty(ks,["security.protocol","retention.ms"])
    ans =
    
      1×2 logical array
    
       1   1

    假设您有一个在网络地址 kafka.host.com:9092 上运行的 Kafka 服务器,该服务器有一个主题 CoolingFan

    创建一个连接到 Kafka 主机的 KafkaStream 对象,并在对象创建期间指定 Kafka 提供程序属性。

    ks = kafkaStream("kafka.host.com",9092,"CoolingFan", ...
    "security.protocol","SSL","ssl.truststore.type","PEM", ...
    "ssl.truststore.location","kafka-boston.pem","retention.ms",500);
    

    检查 security.protocolretention.ms 属性是否属于 CreateTopic 类别。

    isProperty(ks,["security.protocol" "retention.ms"],"CreateTopic")
    ans =
    
      1×2 logical array
    
       0   1

    假设您有一个在网络地址 kafka.host.com:9092 上运行的 Kafka 服务器,该服务器有一个主题 CoolingFan

    创建一个连接到 Kafka 主机的 KafkaStream 对象,并在对象创建期间指定 Kafka 提供程序属性。

    ks = kafkaStream("kafka.host.com",9092,"CoolingFan", ...
    "security.protocol","SSL","ssl.truststore.type","PEM", ...
    "ssl.truststore.location","kafka-boston.pem","retention.ms",500);
    

    检查 security.protocolretention.ms 属性是否属于 CreateTopic 类别,并返回属性名称、类别和数据类型。因为 security.protocol 被设置在两个不同的类别中,所以它在 proptype 输出中出现了两次。

    [tf,prop,type] = isProperty(ks,["security.protocol" "retention.ms"]);
    tf
    name = {prop.name}
    cat = {prop.category}
    type
    tf =
    
      1×2 logical array
    
       1   1
    
    
    name =
    
      1×3 cell array
    
        {["security.protocol"]}    {["security.protocol"]}    {["retention.ms"]}
    
    
    cat =
    
      1×3 cell array
    
        {["Consumer"]}    {["Producer"]}    {["CreateTopic"]}
    
    
    type = 
    
      1×3 string array
    
        "string"    "string"    "string"

    输入参数

    全部折叠

    连接到 Kafka 流主题的对象,指定为 KafkaStream 对象。

    Kafka 流提供程序属性名称,指定为字符串标量、字符向量、字符串数组或字符向量元胞数组。如果在 ks 中未设置属性,则 isProperty 会在 tf 中为该属性返回逻辑 0(false),并且可选 proptype 参量不会返回此属性的数据。

    示例: tf = isProperty(ks,"retention.ms") 返回 ks 中是否设置了 retention.ms 属性。

    数据类型: char | string | cell

    Kafka 流提供程序类别名称,指定为字符串标量、字符向量、字符串数组或字符向量元胞数组。

    指定的类别必须存在于 ks 中。要获取有效类别的列表,请使用 ks.PropertyCategories 属性。

    数据类型: char | string | cell

    输出参量

    全部折叠

    提供程序属性集指示符,以这些值的逻辑数组形式返回:

    • 1 - name 对应位置的属性在 ks 中设置。

    • 0 - name 对应位置的属性在 ks 中未设置。

    Kafka 流提供程序属性名称和类别,以结构体数组形式返回。每个结构体对应于 ks 中的一个提供程序属性,并具有以下字段:

    • name - 提供程序属性名称,以字符串形式返回

    • category - 提供程序属性所属的类别,以字符串形式返回

    由于属性可以属于多个类别,因此类别和名称可以唯一地标识一个属性。

    Kafka 流提供程序属性值的数据类型,以字符串标量或字符串数组形式返回。type 中的每个字符串指定在 prop 的相应位置返回的集合属性的数据类型。

    版本历史记录

    在 R2022b 中推出