開始

このトピックでは、SDK for TypeScript and JavaScriptのインストールおよび構成の方法について説明します。

このトピックでは、SDK for TypeScript and JavaScriptのインストールおよび構成の方法について説明します。

Oracle Cloud Infrastructure SDK for TypeScript and JavaScriptをプロジェクトで使用するには、./oci-typescript-sdk/index.tsから任意のサービスをインポートします。例:

// Container Engine

export import containerengine = require("oci-containerengine");

// Core

export import core = require("oci-core");

// Database

export import database = require("oci-database");

GitHubからのSDKのダウンロード

SDK for TypeScript and JavaScript、GitHubからzipアーカイブとしてダウンロードできます。これには、SDK、そのすべての依存関係、ドキュメントおよびサンプルが含まれています。

yumを使用したインストール

Oracle Linux 7または8を使用している場合は、yumを使用してOCI SDK for TypeScriptおよびSDK for JavaScriptをインストールできます。

Oracle Linux 8の場合:

sudo yum module enable nodejs:14 # for node 16 run: sudo yum module enable nodejs:16
sudo yum install oci-typescript-sdk

Oracle Linux 7の場合:

コンピュート・インスタンスに対してOS管理システムを有効にする必要があります。詳細は、OS管理に関するドキュメントを参照してください。

OS管理によって、ソフトウェア・ソース・リストにNodeバージョン14または16を追加する必要があります。Nodejs 14または16をソフトウェア・ソースに追加する方法の詳細は、ソフトウェア・ソースに関するドキュメントを参照してください。

ソフトウェア・ソースを追加したら、次を実行します:
sudo yum --disablerepo ol7_developer_epel-x86_64 install nodejs 
sudo yum install oci-typescript-sdk

oci-typescript-sdk yumパッケージが機能するのは、Nodeバージョン14または16のみです。oci-sdkパッケージは、global node_modulesフォルダにインストールされます。プロジェクトでoci-sdkパッケージを使用するには、oci-sdkグローバル・パッケージをローカル・プロジェクトにリンクします。

例:
# Assuming you are in your project's top level directory
npm link oci-sdk
# You should now see oci-sdk package in your local project's node_modules folder
oci-sdkパッケージはグローバルにインストールされるため、GitHubのoci-typescript-sdkの例を実行する際は、oci-sdkのサブパッケージのインポート文を更新する必要があります。例:
import * as identity from "oci-identity"; // Change needed
import * as oci from "oci-sdk"; // No change needed
import * as identity from "oci-sdk/node_modules/oci-identity"; //Changed
import * as oci from "oci-sdk"; // No change

NPMでのSDK for TypeScript and JavaScriptの使用

NPM

SDKの構成

SDKサービスには、資格証明とクライアント側HTTP設定という2つのタイプの構成が必要です。

資格証明の構成

最初に、資格証明および構成ファイルを設定する必要があります。手順は、SDKおよびCLIの構成ファイルを参照してください。

デフォルトの構成の場所は「~/.oci/config」、「DEFAULT」プロファイルが使用されます。構成の場所とプロファイル名を指定してもしなくても、ConfigFileAuthenticationDetailsProvider を使用できます:

// TypeScript
import common = require("oci-common");
// Using default configuration
const provider: common.ConfigFileAuthenticationDetailsProvider = new common.ConfigFileAuthenticationDetailsProvider();
// Using personal configuration
const configurationFilePath = "~/your_config_location";
const configProfile = "your_profile_name";
const provider: common.ConfigFileAuthenticationDetailsProvider = new common.ConfigFileAuthenticationDetailsProvider(
  configurationFilePath,
  configProfile
);
// JavaScript
const common = require("oci-common");
// Using default configurations
const provider = new common.ConfigFileAuthenticationDetailsProvider();
// Using personal configuration
const configurationFilePath = "~/your_config_location";
const configProfile = "your_profile_name";
const provider = new common.ConfigFileAuthenticationDetailsProvider(
  configurationFilePath,
  configProfile
);

カスタム・オプションの構成

構成ファイルに、定義するカスタムのキーと値のペアを挿入し、必要に応じてそれらを参照できます。たとえば、頻繁に使用されるコンパートメントIDを構成ファイルに指定できます:

[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>

後で、値を取得できます:

// TypeScript
import common = require("oci-common");
const configurationFilePath = "~/your_config_location";
const configProfile = "your_profile_name";
const config = common.ConfigFileReader.parseDefault(configurationFilePath);
const profile = config.accumulator.configurationsByProfile.get(configProfile);
customCompartmentId = profile.get("customCompartmentId") || "";

// JavaScript
import common = require("oci-common");
const configurationFilePath = "~/your_config_location";
const configProfile = "your_profile_name";
const config = common.ConfigFileReader.parseDefault(configurationFilePath);
const profile = config.accumulator.configurationsByProfile.get(configProfile);
customCompartmentId = profile.get("customCompartmentId") || "";