菜单
开源

常量

定义常量以区分 gRPC Response 状态。

常量描述
StatusOKOK 表示成功。
StatusCanceledCanceled 表示操作已取消(通常由调用方取消)。
StatusUnknown未知错误。
StatusInvalidArgumentInvalidArgument 表示客户端指定了无效参数。
StatusDeadlineExceededDeadlineExceeded 表示操作在完成前已过期。
StatusNotFoundNotFound 表示未找到请求的实体(例如文件或目录)。
StatusAlreadyExistsAlreadyExists 表示尝试创建实体失败,因为该实体已存在。
StatusPermissionDeniedPermissionDenied 表示调用方没有执行指定操作的权限。
StatusResourceExhaustedResourceExhausted 表示某些资源已耗尽,可能是用户配额,或整个文件系统空间不足。
StatusFailedPreconditionFailedPrecondition 表示操作被拒绝,因为系统未处于执行操作所需的状态。
StatusAbortedAborted 表示操作已中止,通常由于并发问题,如序列器检查失败、事务中止等。
StatusOutOfRangeOutOfRange 表示操作尝试超出了有效范围。例如,查找或读取超出文件末尾。
StatusUnimplementedUnimplemented 表示此服务中未实现或不支持/未启用该操作。
StatusInternal内部错误。表示底层系统预期的一些不变量已被破坏。
StatusUnavailableUnavailable 表示服务当前不可用。这很可能是暂时性情况,可通过带退避重试来纠正。请注意,重试非幂等操作并非总是安全的。
StatusDataLossDataLoss 表示发生不可恢复的数据丢失或损坏。
StatusUnauthenticatedUnauthenticated 表示请求没有进行该操作所需的有效身份验证凭据。

示例

JavaScript
import grpc from 'k6/net/grpc';
import { check, sleep } from 'k6';

const client = new grpc.Client();
client.load(null, 'quickpizza.proto');

export default () => {
  client.connect('grpc-quickpizza.grafana.com:443', {
    // plaintext: false
  });

  const data = { ingredients: ['Cheese'], dough: 'Thick' };
  const response = client.invoke('quickpizza.GRPC/RatePizza', data);

  check(response, {
    'status is OK': (r) => r && r.status === grpc.StatusOK,
  });

  client.close();
  sleep(1);
};