1.58. SignatureIntegrationService


1.58.1. ListSignatureIntegrations

GET /v1/signatureintegrations

1.58.1.1. 描述

1.58.1.2. 参数

1.58.1.3. 返回类型

V1ListSignatureIntegrationsResponse

1.58.1.4. 内容类型

  • application/json

1.58.1.5. 响应

表 1.285. HTTP 响应代码
代码消息datatype

200

成功响应。

V1ListSignatureIntegrationsResponse

0

意外错误响应。

GooglerpcStatus

1.58.1.6. Samples

1.58.1.7. 常规对象参考

1.58.1.7.1. CosignPublicKeyVerificationPublicKey
字段名称必填nullable类型描述格式

name

  

字符串

  

publicKeyPemEnc

  

字符串

  
1.58.1.7.2. GooglerpcStatus
字段名称必填nullable类型描述格式

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  
1.58.1.7.3. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to clipboard

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to clipboard
Example 3: Pack and unpack a message in Python.
Copy to clipboard
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to clipboard
Example 4: Pack and unpack a message in Go
Copy to clipboard
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to clipboard

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

1.58.1.7.3.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to clipboard
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to clipboard

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to clipboard
字段名称必填nullable类型描述格式

@type

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 
1.58.1.7.4. StorageCosignCertificateVerification

包含所有验证数据,用于验证附加到 cosign 签名的证书。如果只给出证书,则会假定 Fulcio 可信根链并对其进行验证。如果只给出链,它将接管 Fulcio 可信根链进行验证。如果没有提供证书或链,则会假定 Fulcio 可信根链并对其进行验证。

字段名称必填nullable类型描述格式

certificatePemEnc

  

字符串

用于验证的 PEM 编码证书。

 

certificateChainPemEnc

  

字符串

用于验证的 PEM 编码证书链。

 

certificateOidcIssuer

  

字符串

用于验证的证书 OIDC 签发者。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定 OIDC 签发者,您可以使用 'React' 作为 OIDC 签发者。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 

certificateIdentity

  

字符串

要进行验证的证书身份。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定身份,您可以使用 'xz' 作为身份。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 
1.58.1.7.5. StorageCosignPublicKeyVerification
字段名称必填nullable类型描述格式

publicKeys

  

CosignPublicKeyVerificationPublicKey列表

  
1.58.1.7.6. StorageSignatureIntegration
字段名称必填nullable类型描述格式

id

  

字符串

  

name

  

字符串

  

Cosign

  

StorageCosignPublicKeyVerification

  

cosignCertificates

  

StorageCosignCertificateVerification列表

  
1.58.1.7.7. V1ListSignatureIntegrationsResponse
字段名称必填nullable类型描述格式

集成

  

StorageSignatureIntegration列表

  

1.58.2. DeleteSignatureIntegration

DELETE /v1/signatureintegrations/{id}

1.58.2.1. 描述

1.58.2.2. 参数

1.58.2.2.1. 路径参数
Name描述必填defaultpattern

id

 

X

null

 

1.58.2.3. 返回类型

对象

1.58.2.4. 内容类型

  • application/json

1.58.2.5. 响应

表 1.286. HTTP 响应代码
代码消息datatype

200

成功响应。

对象

0

意外错误响应。

GooglerpcStatus

1.58.2.6. Samples

1.58.2.7. 常规对象参考

1.58.2.7.1. GooglerpcStatus
字段名称必填nullable类型描述格式

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  
1.58.2.7.2. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to clipboard

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to clipboard
Example 3: Pack and unpack a message in Python.
Copy to clipboard
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to clipboard
Example 4: Pack and unpack a message in Go
Copy to clipboard
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to clipboard

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

1.58.2.7.2.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to clipboard
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to clipboard

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to clipboard
字段名称必填nullable类型描述格式

@type

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 

1.58.3. GetSignatureIntegration

GET /v1/signatureintegrations/{id}

1.58.3.1. 描述

1.58.3.2. 参数

1.58.3.2.1. 路径参数
Name描述必填defaultpattern

id

 

X

null

 

1.58.3.3. 返回类型

StorageSignatureIntegration

1.58.3.4. 内容类型

  • application/json

1.58.3.5. 响应

表 1.287. HTTP 响应代码
代码消息datatype

200

成功响应。

StorageSignatureIntegration

0

意外错误响应。

GooglerpcStatus

1.58.3.6. Samples

1.58.3.7. 常规对象参考

1.58.3.7.1. CosignPublicKeyVerificationPublicKey
字段名称必填nullable类型描述格式

name

  

字符串

  

publicKeyPemEnc

  

字符串

  
1.58.3.7.2. GooglerpcStatus
字段名称必填nullable类型描述格式

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  
1.58.3.7.3. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to clipboard

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to clipboard
Example 3: Pack and unpack a message in Python.
Copy to clipboard
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to clipboard
Example 4: Pack and unpack a message in Go
Copy to clipboard
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to clipboard

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

1.58.3.7.3.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to clipboard
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to clipboard

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to clipboard
字段名称必填nullable类型描述格式

@type

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 
1.58.3.7.4. StorageCosignCertificateVerification

包含所有验证数据,用于验证附加到 cosign 签名的证书。如果只给出证书,则会假定 Fulcio 可信根链并对其进行验证。如果只给出链,它将接管 Fulcio 可信根链进行验证。如果没有提供证书或链,则会假定 Fulcio 可信根链并对其进行验证。

字段名称必填nullable类型描述格式

certificatePemEnc

  

字符串

用于验证的 PEM 编码证书。

 

certificateChainPemEnc

  

字符串

用于验证的 PEM 编码证书链。

 

certificateOidcIssuer

  

字符串

用于验证的证书 OIDC 签发者。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定 OIDC 签发者,您可以使用 'React' 作为 OIDC 签发者。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 

certificateIdentity

  

字符串

要进行验证的证书身份。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定身份,您可以使用 'xz' 作为身份。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 
1.58.3.7.5. StorageCosignPublicKeyVerification
字段名称必填nullable类型描述格式

publicKeys

  

CosignPublicKeyVerificationPublicKey列表

  
1.58.3.7.6. StorageSignatureIntegration
字段名称必填nullable类型描述格式

id

  

字符串

  

name

  

字符串

  

Cosign

  

StorageCosignPublicKeyVerification

  

cosignCertificates

  

StorageCosignCertificateVerification列表

  

1.58.4. PutSignatureIntegration

PUT /v1/signatureintegrations/{id}

1.58.4.1. 描述

1.58.4.2. 参数

1.58.4.2.1. 路径参数
Name描述必填defaultpattern

id

 

X

null

 
1.58.4.2.2. 正文参数
Name描述必填defaultpattern

正文(body)

SignatureIntegrationServicePutSignatureIntegrationBody

X

  

1.58.4.3. 返回类型

对象

1.58.4.4. 内容类型

  • application/json

1.58.4.5. 响应

表 1.288. HTTP 响应代码
代码消息datatype

200

成功响应。

对象

0

意外错误响应。

GooglerpcStatus

1.58.4.6. Samples

1.58.4.7. 常规对象参考

1.58.4.7.1. CosignPublicKeyVerificationPublicKey
字段名称必填nullable类型描述格式

name

  

字符串

  

publicKeyPemEnc

  

字符串

  
1.58.4.7.2. GooglerpcStatus
字段名称必填nullable类型描述格式

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  
1.58.4.7.3. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to clipboard

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to clipboard
Example 3: Pack and unpack a message in Python.
Copy to clipboard
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to clipboard
Example 4: Pack and unpack a message in Go
Copy to clipboard
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to clipboard

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

1.58.4.7.3.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to clipboard
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to clipboard

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to clipboard
字段名称必填nullable类型描述格式

@type

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 
1.58.4.7.4. SignatureIntegrationServicePutSignatureIntegrationBody
字段名称必填nullable类型描述格式

name

  

字符串

  

Cosign

  

StorageCosignPublicKeyVerification

  

cosignCertificates

  

StorageCosignCertificateVerification列表

  
1.58.4.7.5. StorageCosignCertificateVerification

包含所有验证数据,用于验证附加到 cosign 签名的证书。如果只给出证书,则会假定 Fulcio 可信根链并对其进行验证。如果只给出链,它将接管 Fulcio 可信根链进行验证。如果没有提供证书或链,则会假定 Fulcio 可信根链并对其进行验证。

字段名称必填nullable类型描述格式

certificatePemEnc

  

字符串

用于验证的 PEM 编码证书。

 

certificateChainPemEnc

  

字符串

用于验证的 PEM 编码证书链。

 

certificateOidcIssuer

  

字符串

用于验证的证书 OIDC 签发者。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定 OIDC 签发者,您可以使用 'React' 作为 OIDC 签发者。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 

certificateIdentity

  

字符串

要进行验证的证书身份。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定身份,您可以使用 'xz' 作为身份。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 
1.58.4.7.6. StorageCosignPublicKeyVerification
字段名称必填nullable类型描述格式

publicKeys

  

CosignPublicKeyVerificationPublicKey列表

  

1.58.5. PostSignatureIntegration

POST /v1/signatureintegrations

不应设置集成 id。返回签名集成并填写 id。

1.58.5.1. 描述

1.58.5.2. 参数

1.58.5.2.1. 正文参数
Name描述必填defaultpattern

正文(body)

StorageSignatureIntegration

X

  

1.58.5.3. 返回类型

StorageSignatureIntegration

1.58.5.4. 内容类型

  • application/json

1.58.5.5. 响应

表 1.289. HTTP 响应代码
代码消息datatype

200

成功响应。

StorageSignatureIntegration

0

意外错误响应。

GooglerpcStatus

1.58.5.6. Samples

1.58.5.7. 常规对象参考

1.58.5.7.1. CosignPublicKeyVerificationPublicKey
字段名称必填nullable类型描述格式

name

  

字符串

  

publicKeyPemEnc

  

字符串

  
1.58.5.7.2. GooglerpcStatus
字段名称必填nullable类型描述格式

code

  

整数

 

int32

message

  

字符串

  

详情

  

ProtobufAny列表

  
1.58.5.7.3. ProtobufAny

any 包含任意序列化协议缓冲区消息,以及一个描述序列化消息的类型的 URL。

protobuf 库以实用程序函数形式提供对 pack/unpack Any 值的支持,或者对 Any 类型的其他生成的方法提供其他生成的方法。

示例 1: Pack 并在 C++ 中解包信息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}
Copy to clipboard

示例 2:打包并解压缩 Java 消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Copy to clipboard
Example 3: Pack and unpack a message in Python.
Copy to clipboard
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Copy to clipboard
Example 4: Pack and unpack a message in Go
Copy to clipboard
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}
Copy to clipboard

默认情况下,protobuf 库提供的软件包方法将使用 'type.googleapis.com/full.type.name' 作为类型 URL,解包方法只使用类型 URL 中的完全限定类型名称,如 "foo.bar.com/x/x/y.z"。

1.58.5.7.3.1. JSON 表示

any 值的 JSON 表示使用反序列化的、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @typeExample:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
Copy to clipboard
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}
Copy to clipboard

如果嵌入式消息类型是知名且具有自定义 JSON 表示法,则该表示将被嵌入一个字段值,该值@type 字段外还包含自定义 JSON。示例(用于消息 [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
Copy to clipboard
字段名称必填nullable类型描述格式

@type

  

字符串

唯一标识序列化协议缓冲消息的 URL/资源名称。此字符串必须至少包含一个 \"/\" 字符。URL 路径的最后一部分必须代表类型的完全限定名称(如 path/google.protobuf.Duration)。名称应采用规范形式(例如,未接受前面的 \".\")。在实践中,团队通常会预编译到期望其在任意上下文中使用的所有类型的二进制代码。但是,对于使用方案 httphttps 或无方案的 URL,可以选择设置一个类型服务器,将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假设 https。* URL 上的 HTTP GET 必须以二进制格式生成一个 [google.protobuf.Type][] 值,或者产生错误。* 应用程序允许根据 URL 缓存查找结果,或者预先编译到二进制文件以避免出现任何查找。因此,为了更改类型,二进制兼容性需要保留。(使用版本控制类型名称来管理中断的更改。)注意:这个功能目前在官方 protobuf 版本中可用,它不用于以 type.googleapis.com 开头的类型 URL。自 2023 年 5 月起,没有广泛使用的类型服务器实施,没有计划实施。http 之外的方案(或空方案)可以与实施特定语义一起使用。

 
1.58.5.7.4. StorageCosignCertificateVerification

包含所有验证数据,用于验证附加到 cosign 签名的证书。如果只给出证书,则会假定 Fulcio 可信根链并对其进行验证。如果只给出链,它将接管 Fulcio 可信根链进行验证。如果没有提供证书或链,则会假定 Fulcio 可信根链并对其进行验证。

字段名称必填nullable类型描述格式

certificatePemEnc

  

字符串

用于验证的 PEM 编码证书。

 

certificateChainPemEnc

  

字符串

用于验证的 PEM 编码证书链。

 

certificateOidcIssuer

  

字符串

用于验证的证书 OIDC 签发者。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定 OIDC 签发者,您可以使用 'React' 作为 OIDC 签发者。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 

certificateIdentity

  

字符串

要进行验证的证书身份。这支持遵循 RE2 语法的正则表达式 :https://github.com/google/re2/wiki/Syntax。如果证书没有指定身份,您可以使用 'xz' 作为身份。但是,建议您根据规格使用 Fulcio 兼容证书: https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

 
1.58.5.7.5. StorageCosignPublicKeyVerification
字段名称必填nullable类型描述格式

publicKeys

  

CosignPublicKeyVerificationPublicKey列表

  
1.58.5.7.6. StorageSignatureIntegration
字段名称必填nullable类型描述格式

id

  

字符串

  

name

  

字符串

  

Cosign

  

StorageCosignPublicKeyVerification

  

cosignCertificates

  

StorageCosignCertificateVerification列表

  
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.