1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Denoで環境変数からAPIアクセス情報を取得する

1
Last updated at Posted at 2026-04-30

以下の記事で書いた内容に対し、環境変数ファイルを読むように修正。

環境変数ファイルの作成

AZURE_OPENAI_ENDPOINT=<Azure OpenAI ServiceのデプロイメントのエンドポイントURL>
AZURE_OPENAI_DEPLOYMENT_NAME=<デプロイ名>
AZURE_OPENAI_API_KEY=<Azure OpenAI Serviceのデプロイメントのアクセスキー>

環境変数から読み込む

Denoでは、環境変数の読み込みはDeno.env.get("")

import OpenAI from "@openai/openai";

const endpoint = Deno.env.get("AZURE_OPENAI_ENDPOINT") ?? "";
const deployment_name = Deno.env.get("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "";
const api_key = Deno.env.get("AZURE_OPENAI_API_KEY") ?? "";

const client = new OpenAI({
    baseURL: endpoint,
    apiKey: api_key
});

async function main() {
  const completion = await client.chat.completions.create({
    messages: [
      { role: "developer", content: "レシピ作成アシスタント" },
      { role: "user", content: "おでん" }
    ],
    model: deployment_name,
  });

  console.log(completion.choices[0].message.content);
}

main();

実行時のオプションで.envの読み込みを許可

--allow-file=.envで環境変数ファイルの読み込みを許可。

// deno.json
{
  "tasks": {
    "dev": "deno run --watch --env-file=.env --allow-env --allow-net main.ts"
  },
  "imports": {
    "@openai/openai": "jsr:@openai/openai",
    "@std/assert": "jsr:@std/assert@1"
  }
}

ついでに環境変数の参照--allow-envとネットワークアクセス--allow-netも許可。

実行結果

deno.jsonで指定したタスクで実行。

sato@[22:13:21]:~/proj/try/typescript/chatgpt% deno task dev
Task dev deno run --watch --env-file=.env --allow-env --allow-net main.ts
Watcher Process started.
おでんの基本的なレシピをご紹介します。寒い季節にぴったりの温かい料理です。

【おでんの材料】(4人分)
- 大根 1/2本
- こんにゃく 1枚
- 卵 4個
- ちくわ 4本
- さつま揚げ 4枚
- 厚揚げ 2枚
- 昆布 10cm角1枚
- だし汁 1.5リットル(昆布と鰹節でとったものがおすすめ)
- 醤油 大さじ4
- みりん 大さじ3
- 酒 大さじ2
- 砂糖 大さじ1

【作り方】
1. 大根は皮をむき、2〜3cmの厚さに切り、下茹でしておく(柔らかくなるまで)。
2. 卵は固ゆでにして殻をむいておく。
3. こんにゃくは一口大に切り、塩でもみ洗いした後下茹でしてアクを抜く。
4. 昆布は水につけて30分ほど戻す。
5. 鍋にだし汁を入れ、昆布を入れて中火で温める。沸騰直前で昆布を取り出す。
6. 醤油、みりん、酒、砂糖を加え、味を調える。
7. 大根、卵、こんにゃく、ちくわ、さつま揚げ、厚揚げを鍋に入れ、弱火で1時間ほど煮込む。
8. 味が染み込んだら完成。お好みでからしを添えてどうぞ。

ご質問や他の具材の追加レシピなどもお手伝いできますので、お気軽にどうぞ。
Watcher Process finished. Restarting on file change...
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?