Package google.bytestream

색인

ByteStream

Byte Stream API를 사용하면 클라이언트가 리소스에서 바이트 스트림을 읽고 쓸 수 있습니다. 리소스에는 이름이 있으며, 이러한 이름은 읽고 쓰고 있는 리소스를 식별하기 위해 아래 API 호출에서 제공됩니다.

Byte Stream API의 모든 구현은 여기에 정의된 인터페이스를 내보냅니다.

  • Read(): 리소스의 콘텐츠를 읽습니다.

  • Write(): 리소스의 콘텐츠를 씁니다. 클라이언트는 동일한 리소스로 Write()를 여러 번 호출할 수 있으며 QueryWriteStatus()를 호출하여 쓰기 상태를 확인할 수 있습니다.

ByteStream API는 리소스와 연결된 메타데이터에 액세스하거나 수정할 수 있는 직접적인 방법을 제공하지 않습니다.

서비스에서 반환한 오류는 Google 표준 오류 공간에 있습니다.

쓰기

rpc Write(WriteRequest) returns (WriteResponse)

Write()는 리소스의 콘텐츠를 일련의 바이트로 전송하는 데 사용됩니다. 바이트는 클라이언트 측 스트리밍 RPC의 요청 proto 시퀀스에 따라 전송됩니다.

Write() 작업은 재개 가능합니다. Write() 중에 오류가 발생하거나 연결이 끊어진 경우 클라이언트는 QueryWriteStatus()를 호출하여 Write()의 상태를 확인하고 반환된 committed_size에서 쓰기를 계속해야 합니다. 클라이언트가 이전에 보낸 데이터의 양보다 적을 수 있습니다.

이전에 작성 및 완료된 리소스 이름에 대해 Write()를 호출하면 기본 서비스가 이전에 작성된 리소스 덮어쓰기를 허용하는지 여부에 따라 오류가 발생할 수 있습니다.

클라이언트가 요청 채널을 닫으면 서비스는 WriteResponse로 응답합니다. 클라이언트가 finish_writetrue로 설정된 WriteRequest를 전송할 때까지 서비스에서 리소스를 complete로 보지 않습니다. finish_writetrue로 설정하여 요청을 전송한 후 스트림에서 요청을 보내면 오류가 발생합니다. 클라이언트는 반드시 수신한 WriteResponse를 확인하여 서비스가 커밋할 수 있었던 데이터의 양과 서비스가 리소스를 complete로 보는지 확인해야 합니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/plus.business.manage
  • https://www.googleapis.com/auth/business.manage

자세한 내용은 OAuth 2.0 개요를 참고하세요.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

미디어를 업로드합니다. URI /upload/v1/media/{+name}에서 업로드가 지원됩니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/plus.business.manage
  • https://www.googleapis.com/auth/business.manage

자세한 내용은 OAuth 2.0 개요를 참고하세요.

미디어

미디어 리소스입니다.

필드
resource_name

string

미디어 리소스의 이름입니다.

UpdateMediaRequest

미디어 업로드 요청 메시지입니다.

필드
resource_name

string

다운로드 중인 미디어의 이름입니다. ReadRequest.resource_name 페이지를 참고하세요.

media

Media

업로드되고 있는 미디어를 나타냅니다.

WriteRequest

ByteStream.Write의 요청 객체입니다.

필드
resource_name

string

쓸 리소스의 이름입니다. 이는 각 Write() 작업의 처음 WriteRequest에 설정되어야 합니다. 후속 호출에 설정될 경우 반드시 첫 번째 요청의 값과 일치해야 합니다.

write_offset

int64

데이터를 작성해야 하는 리소스의 시작 부분으로부터의 오프셋입니다. 모든 WriteRequest에서 필요합니다.

Write() 작업의 첫 번째 WriteRequest에서 Write() 호출의 초기 오프셋을 나타냅니다. 이 값은 QueryWriteStatus() 호출에서 반환되는 committed_size같아야 합니다.

후속 호출에서는 이 값이 설정되어야 하며 이전에 이 스트림에서 전송된 모든 data 번들의 크기와 첫 번째 write_offset의 합계와 같아야 합니다.

값이 잘못된 경우 오류가 발생합니다.

finish_write

bool

true이면 쓰기가 완료되었음을 나타냅니다. finish_writetrue인 함수 다음에 WriteRequest를 전송하면 오류가 발생합니다.

data

bytes

리소스의 데이터 부분입니다. 클라이언트는 지정된 WriteRequest에 대해 data를 비워 둘 수도 있습니다. 이렇게 하면 클라이언트가 추가 데이터를 생성하는 작업을 실행하는 동안 요청이 아직 활성 상태임을 서비스에 알릴 수 있습니다.

WriteResponse

ByteStream.Write의 응답 객체입니다.

필드
committed_size

int64

지정된 리소스에 대해 처리된 바이트 수입니다.