Conceitos Básicos

Este tópico descreve como instalar e configurar o SDK para .NET.

Este tópico descreve como instalar e configurar o SDK para .NET.

Para usar um serviço do Oracle Cloud Infrastructure específico em seu projeto, você pode usar o comando dotnet add package do diretório raiz do seu espaço de trabalho do projeto que contém o arquivo do projeto. A sintaxe do comando add package é:

dotnet add package <PACKAGE_ID> -v <DESIRED_VERSION>

Se você não especificar um número de versão, o comando add package instalará a versão mais recente.

Este exemplo instala a versão mais recente do pacote Core Service:

dotnet add package OCI.DotNetSDK.Core

Este exemplo instala a versão 1.0.0 do pacote do Identity Service:

dotnet add package OCI.DotNetSDK.Identity -v 1.0.0
Observação

Para evitar conflitos de dependência, use as mesmas versões de todos os pacotes .NET SDK Nuget do OCI em um aplicativo.

Download do SDK no GitHub

No GitHub, você pode fazer o download do SDK para .NET como um arquivo zip. O GitHub contém o SDK, todas as suas dependências, documentação e exemplos.

Instalando o SDK com o Yum

Se você estiver usando o Oracle Linux 7 ou 8, poderá usar o yum para instalar o OCI SDK para .NET.
  1. Para instalar o OCI SDK para .NET usando o yum:
    1. Para Oracle Linux 7:

      sudo yum-config-manager --enable ol7_developer
      sudo yum install oci-dotnet-sdk
    2. Para Oracle Linux 8:

      sudo yum-config-manager --enable ol8_developer
      sudo yum install oci-dotnet-sdk

      Os pacotes de serviços do OCI Dotnet SDK e suas dependências estão localizados em /usr/lib/dotnet/NuPkgs/.

  2. Assim, para que a CLI do dotnet encontre os pacotes instalados, execute um dos seguintes procedimentos:
    1. Crie um arquivo chamado nuget.config na raiz do seu projeto de aplicativo .NET e adicione o seguinte conteúdo:
      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
            <!--To inherit the global NuGet package sources remove the <clear/> line below -->
            <clear />
            <add key="local" value="/usr/lib/dotnet/NuPkgs" />
        </packageSources>
      </configuration>
      ...ou...
    2. Use a opção --source com os comandos da CLI do dotnet, informando o diretório /usr/lib/dotnet/NuPkgs/. Por exemplo:
      dotnet build --source /usr/lib/dotnet/NuPkgs/
      dotnet restore --source /usr/lib/dotnet/NuPkgs/
      dotnet add package OCI.DotNetSDK.Common --source /usr/lib/dotnet/NuPkgs/
  3. Para obter informações sobre o pacote instalado, execute o seguinte comando:
    rpm  -qi oci-dotnet-sdk
  4. Adicione os pacotes do OCI Service ao seu projeto usando a linha de comando do dotnet:
    dotnet add package OCI.DotNetSDK.Common
    dotnet add package OCI.DotNetSDK.Audit --version 4.3.0
    dotnet add package OCI.DotNetSDK.Audit --version 4.3.0 --source /usr/lib/dotnet/NuPkgs/
  5. Agora você pode importar os namespaces para seu projeto. Por exemplo:
    using Oci.AuditService;
    using Oci.AuditService.Models;
    using Oci.Common;
    using Oci.Common.Auth;

Usando o SDK para .NET com o Nuget

Configurando o SDK

Os serviços SDK precisam de dois tipos de configuração: credenciais e definições HTTP do cliente.

Configurando Credenciais

Primeiro, você precisa configurar as suas credenciais e o arquivo de configuração. Para obter instruções, consulte Arquivo de Configuração da CLI e do SDK.

Em seguida, configure o cliente para usar as credenciais. As credenciais são extraídas por meio de uma interface IAuthenticationDetailsProvider que o cliente precisa implementar.

Estes exemplos mostram implementações de ConfigFileAuthenticationDetailsProvider e SimpleAuthenticationDetailsProvider.

Usando uma Configuração Padrão

Se você usar chaves de arquivo de configuração padrão e o local do arquivo de configuração padrão, será possível usar ConfigFileAuthenticationDetailsProvider:


using Oci.Common.Auth;
 
// uses DEFAULT profile in default file location: i.e ~/.oci/config
var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");
// uses custom configuration
var provider = new ConfigFileAuthenticationDetailsProvider("custom_file_location", "CUSTOM_PROFILE");
Usando uma Configuração Personalizada

Se você estiver usando nomes de chave personalizados no arquivo de configuração, poderá usar SimpleAuthenticationDetailsProvider

Para carregar uma configuração com ou sem um perfil:

using Oci.Common;
 
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
var configWithProfile = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH, "DEFAULT");  

Em seguida, crie um provedor Auth usando SimpleAuthenticationDetailsProvider:

using Oci.Common;
using Oci.Common.Auth;
 
var config = ConfigFileReader.Parse(ConfigFileReader.DEFAULT_FILE_PATH);
 
// The private key supplier can be created with the file path,or using the config file
var provider = new SimpleAuthenticationDetailsProvider {
                TenantId = config.GetValue("tenancy"),
                UserId = config.GetValue("user"),
                Fingerprint = config.GetValue("fingerprint"),
                Region = Region.FromRegionId(config.GetValue("region")),
                PrivateKeySupplier = new FilePrivateKeySupplier(config.GetValue("key_file"), config.GetValue("pass_phrase"))
               };

Configurando Opções do Cliente

Crie uma configuração do cliente por meio da classe ClientConfiguration . Se você não fornecer a sua própria configuração, o SDK para .NET usará uma configuração padrão.

O exemplo a seguir mostra como fornecer sua própria configuração:

var clientConfiguration = new ClientConfiguration
{
   ClientUserAgent = "DotNet-SDK-Example",
   RetryConfiguration = new RetryConfiguration
   {
      // maximum number of attempts to retry the same request
      MaxAttempts = 5,
      // retries the request if the response status code is in the range [400-499] or [500-599]
      RetryableStatusCodeFamilies = new List<int> { 4, 5 } 
   }
};

Configurando Opções Personalizadas

No arquivo de configuração, você poderá inserir pares de chave/valor personalizados e referenciá-los conforme necessário. Por exemplo, você pode especificar um ID de compartimento frequentemente usado no arquivo de configuração:

[DEFAULT]
user=ocid1.user.oc1..<your_unique_id>
fingerprint=<your_fingerprint>
key_file=~/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..<your_unique_id>
customCompartmentId=ocid1.compartment.oc1..<your_unique_id>

Depois, você poderá recuperar o valor:

using Oci.Common;
var config = ConfigFileReader.parse(ConfigFileReader.DEFAULT_FILE_PATH);
String compartmentId = config.GetValue("customCompartmentId");

Ativando o Registro em Log

O OCI SDK para .NET usa o pacote NLog para registro em log. NLog é instalado automaticamente com o .NET SDK; portanto, nenhuma instalação adicional é necessária.

Para ativar o registro em log em seu projeto:
  1. Adicione um arquivo NLog.config no diretório raiz do projeto. Você pode encontrar um exemplo de arquivo NLog.config aqui
  2. Adicione uma seção ItemGroup no arquivo do projeto. Por exemplo:
    <ItemGroup>
         <Content Include="PATH TO NLog.config File" >
              <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
    </ItemGroup>
  3. Para registrar em log de um aplicativo, crie um Logger e use o método Info(). Por exemplo:
    var logger = NLog.LogManager.GetCurrentClassLogger();
    logger.Info("Hello World");
Observação

Somente o registro em log do SDK será capturado se você não criar um logger de um aplicativo.