

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Bedrock API キーを使用する
<a name="api-keys-use"></a>

Amazon Bedrock API キーは、次の方法で使用できます。
+ **環境変数として設定する** – Amazon Bedrock サービスは環境変数 `AWS_BEARER_TOKEN_BEDROCK` を認識します。キーを設定するには、次のオプションがあります。
  + ターミナルを開いて、以下のとおり設定します。
    + **MacOS または Linux**

      ```
      export AWS_BEARER_TOKEN_BEDROCK=${api-key}
      ```
    + **Windows**

      ```
      setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"
      ```
  + API リクエストを行う前に、キーを環境変数として設定します。例えば、リクエストを実行する前に、次の行を含めることができます。
    + **Python**

      ```
      import os                      
      os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
      ```
+ **リクエストで指定する** – 次の方法で Amazon Bedrock API キーを認可ヘッダーに含めることができます (*\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* は、実際の値に置き換えます)。
  + **直接 HTTP リクエスト** – 認可ヘッダーとして以下を含めます。

    ```
    Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK
    ```
  + **サポートされている SDK のパラメータとして** – クライアントを設定する際に、パラメータの値を指定します。例えば、[OpenAI Python SDK](https://github.com/openai/openai-python?tab=readme-ov-file#usage) でクライアントを設定する際に、`api_key` フィールドでキーを指定できます。

**注記**  
Amazon Bedrock API キーは、[Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) のアクションと [Amazon Bedrock ランタイム](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html)アクションに限定されています。以下の API オペレーションでは使用できません。  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html)
[Agents for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) API オペレーションまたは [Agents for Amazon Bedrock Runtime](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) API オペレーション
[Data Automation for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) API オペレーションまたは [Runtime for Amazon Bedrock Data Automation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation) API オペレーション

API キーを使用し、[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) リクエストを送信してレスポンスを生成する例を確認するには、使用する方法に対応するタブを選択して、手順に従ってください。

------
#### [ Python ]

次の例は、AWS SDK for Python (Boto3) を使用して API リクエストを送信する方法を説明しています。API キーを `AWS_BEARER_TOKEN_BEDROCK` 環境変数として既に設定していない場合は、次のコードの *\$1\$1api-key\$1* の代わりに指定します。

```
import os
import boto3
                        
# If you already set the API key as an environment variable, you can comment this line out                        
os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"

# Create an Amazon Bedrock client
client = boto3.client(
    service_name="bedrock-runtime",
    region_name="us-east-1" # If you've configured a default region, you can omit this line
)

# Define the model and message
model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
messages = [{"role": "user", "content": [{"text": "Hello"}]}]

response = client.converse(
    modelId=model_id,
    messages=messages,
)
```

------
#### [ HTTP Client (requests package in Python) ]

**前提条件:** ターミナルを開き、以下のコマンドを実行して、`requests` パッケージをインストールします。

```
python3 -m pip install requests
```

次の例は、HTTP クライアントを使用して API リクエストを直接送信する方法を説明しています。ヘッダーで *\$1\$1api-key\$1* を指定します。

```
import requests

url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"

payload = {
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer ${api-key}"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
```

------
#### [ HTTP request using cURL ]

次の例は、cURL を使用して API リクエストを直接送信する方法を説明しています。API キーを AWS\$1BEARER\$1TOKEN\$1BEDROCK 環境変数として設定しなかった場合は、例の `$AWS_BEARER_TOKEN_BEDROCK` をキーのリテラル値に置き換える必要があります。

```
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
  -d '{
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
  }'
```

------