Use IsObjectExistAsync no OSS SDK V2 para C# para verificar se um objeto existe em um bucket.
Pré-requisitos
Antes de começar, certifique-se de que:
O código de exemplo usa a região China (Hangzhou) (
cn-hangzhou) e o endpoint público por padrão. Para acessar o OSS a partir de outros serviços da Alibaba Cloud na mesma região, use um endpoint interno. Para obter o mapeamento entre regiões e endpoints, consulte Regiões e endpoints do OSS.As credenciais de acesso estejam configuradas como variáveis de ambiente. Para obter instruções de configuração, consulte [Configurar credenciais de acesso para .NET 2.0].
A verificação da existência de um objeto exige a permissão
oss:GetObject. Para configurar permissões, consulte Conceder uma política de acesso personalizada a um usuário RAM.
Código de exemplo
IsObjectExistAsync retorna true se o objeto existir no bucket ou false caso contrário.
using OSS = AlibabaCloud.OSS.V2;
var region = "cn-hangzhou"; // Required. The region where the bucket is located.
var endpoint = null as string; // Optional. The endpoint used to access OSS. Example: https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "your bucket name"; // Required. The name of the bucket.
var key = "your object name"; // Required. The name of the object. Format: folder/objectName.
// Load default SDK configurations. Credentials such as the AccessKey ID and secret are read from environment variables.
var cfg = OSS.Configuration.LoadDefault();
// Use environment variables (OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET) for authentication.
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
cfg.Region = region;
if (endpoint != null)
{
cfg.Endpoint = endpoint;
}
// Create an OSS client.
using var client = new OSS.Client(cfg);
// Check whether the object exists.
var result = await client.IsObjectExistAsync(bucket, key);
Console.WriteLine("IsObjectExist done");
// true: the object exists. false: the object does not exist.
Console.WriteLine($"result: {result}");
Referências
Para obter o código de exemplo completo, consulte IsObjectExist.cs.