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 log-in 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.