Appelez l'opération AppendObject pour ajouter du contenu à des objets existants de type « appendable ».
Notes
Cette rubrique utilise le point de terminaison public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, utilisez un point de terminaison interne. Pour plus d'informations sur les régions et points de terminaison pris en charge, consultez Régions et points de terminaison.
Cette rubrique explique comment créer une instance OSSClient avec un point de terminaison OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants du Security Token Service (STS), consultez Configuration du client.
Si le fichier n'existe pas, la méthode
Bucket#append_objectcrée un objet de type « appendable ».-
Si le fichier existe déjà :
S'il s'agit d'un objet de type « appendable » et que la position d'ajout spécifiée correspond à la longueur actuelle du fichier, le contenu est ajouté à la fin du fichier.
S'il s'agit d'un objet de type « appendable » mais que la position d'ajout spécifiée ne correspond pas à la longueur actuelle du fichier, une exception PositionNotEqualToLength est levée.
S'il ne s'agit pas d'un objet de type « appendable » (par exemple, un objet normal chargé via un chargement simple), une exception ObjectNotAppendable est levée.
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les permissions. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune permission par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les permissions d'opération via des politiques RAM ou une Bucket Policy.
|
API |
Action |
Description |
|
AppendObject |
|
Vous pouvez appeler cette opération pour charger un objet en l'ajoutant à un objet existant. |
|
|
Lors du chargement d'un objet par ajout à un objet existant, cette permission est requise si vous spécifiez des tags d'objet via x-oss-tagging. |
Exemple de code
Le code suivant montre comment effectuer un chargement par ajout.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# The China (Hangzhou) region is used as an example. Specify the actual region.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name, for example, examplebucket.
bucket = client.get_bucket('examplebucket')
# Specify the full path of the object. The full path cannot contain the bucket name.
bucket.append_object('my-object', 0)
# Append content to the end of the file.
next_pos = bucket.append_object('my-object', 0) do |stream|
100.times { |i| stream << i.to_s }
end
next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-1')
next_pos = bucket.append_object('my-object', next_pos, :file => 'local-file-2')
Références
Pour plus d'informations sur l'opération API AppendObject, consultez AppendObject.