Package google.bytestream

Index

ByteStream

L'API Byte Stream permet à un client de lire et d'écrire un flux d'octets vers et depuis une ressource. Les ressources ont des noms. Ces noms sont fournis dans les appels d'API ci-dessous pour identifier la ressource depuis laquelle la lecture ou l'écriture est effectuée.

Toutes les implémentations de l'API Byte Stream exportent l'interface définie ici:

  • Read(): lit le contenu d'une ressource.

  • Write(): écrit le contenu d'une ressource. Le client peut appeler Write() plusieurs fois avec la même ressource et vérifier l'état de l'écriture en appelant QueryWriteStatus().

L'API ByteStream ne permet pas d'accéder directement aux métadonnées associées à la ressource ni de les modifier.

Les erreurs renvoyées par le service se trouvent dans l'espace d'erreur canonique de Google.

Écriture

rpc Write(WriteRequest) returns (WriteResponse)

Write() permet d'envoyer le contenu d'une ressource sous forme de séquence d'octets. Les octets sont envoyés dans une séquence de fichiers proto de requête d'un RPC en streaming côté client.

Une action Write() est réactivable. En cas d'erreur ou si la connexion est interrompue pendant Write(), le client doit vérifier l'état de Write() en appelant QueryWriteStatus() et en continuant à écrire à partir du committed_size renvoyé. Cette quantité peut être inférieure à la quantité de données précédemment envoyée par le client.

L'appel de Write() sur un nom de ressource précédemment écrit et finalisé peut entraîner une erreur, selon que le service sous-jacent autorise ou non l'écrasement des ressources écrites précédemment.

Lorsque le client ferme le canal de requête, le service renvoie une réponse WriteResponse. Le service ne considérera pas la ressource comme complete tant que le client n'aura pas envoyé de WriteRequest avec finish_write défini sur true. L'envoi de requêtes sur un flux après l'envoi d'une requête avec la valeur finish_write définie sur true entraînera une erreur. Le client doit vérifier le WriteResponse qu'il reçoit pour déterminer la quantité de données que le service a pu valider et s'il considère la ressource comme complete ou non.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Pour en savoir plus, consultez la présentation d'OAuth 2.0.

RestByteStream

UpdateMedia

rpc UpdateMedia(UpdateMediaRequest) returns (Media)

Importe des contenus multimédias. L'importation est compatible avec l'URI /upload/v1/media/{+name}.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Pour en savoir plus, consultez la présentation d'OAuth 2.0.

Multimédia

Ressource multimédia.

Champs
resource_name

string

Nom de la ressource multimédia.

UpdateMediaRequest

Message de requête pour importer des contenus multimédias.

Champs
resource_name

string

Nom du contenu multimédia en cours de téléchargement. Consultez les ReadRequest.resource_name.

media

Media

Représentation de l'élément multimédia en cours d'importation.

WriteRequest

Objet de requête pour ByteStream.Write.

Champs
resource_name

string

Nom de la ressource à écrire. Cette valeur doit être définie sur le premier WriteRequest de chaque action Write(). S'il est défini lors d'appels ultérieurs, il doit correspondre à la valeur de la première requête.

write_offset

int64

Décalage à partir du début de la ressource, auquel les données doivent être écrites. Elle est obligatoire pour tous les WriteRequest.

Dans la première WriteRequest d'une action Write(), elle indique le décalage initial pour l'appel Write(). La valeur doit être égale à la valeur committed_size renvoyée par un appel à QueryWriteStatus().

Dans les appels suivants, cette valeur doit être définie et doit être égale à la somme du premier write_offset et de la taille de tous les groupes data envoyés précédemment sur ce flux.

Une valeur incorrecte entraînera une erreur.

finish_write

bool

Si la valeur est true, cela signifie que l'écriture est terminée. L'envoi de WriteRequest après un événement où finish_write est true entraînera une erreur.

data

bytes

Une partie des données pour la ressource. Le client peut laisser data vide pour n'importe quel WriteRequest donné. Cela permet au client d'informer le service que la requête est toujours active pendant qu'il exécute une opération afin de générer davantage de données.

WriteResponse

Objet de réponse pour ByteStream.Write.

Champs
committed_size

int64

Nombre d'octets traités pour la ressource donnée.