

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 您應用程式的 AWS 登入資料
<a name="sdk-session-credentials"></a>

若要讓您的應用程式存取您帳戶中的 AWS 資源，例如 Amazon S3 儲存貯體、DynamoDB 資料表或其他 AWS 服務，請在啟動串流工作階段時提供 IAM 角色 ARN。Amazon GameLift Streams 會擔任該角色，並自動為您的應用程式提供登入資料。

若要設定工作階段登入資料，請在呼叫 [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html) 時傳遞 `--role-arn` 參數。下列範例顯示從 Amazon S3 下載組態檔案，然後啟動應用程式的 Windows 啟動指令碼 (`.bat` 檔案）：

```
REM --- Configuration ---
SET "S3_CONFIG_PATH=s3://{{my-app-bucket}}/configs/app-config.json"
SET "LOCAL_CONFIG_DIR=%TEMP%\my-app-config"
SET "LOCAL_CONFIG_FILE=%LOCAL_CONFIG_DIR%\app-config.json"

REM --- Create local directory if it doesn't exist ---
IF NOT EXIST "%LOCAL_CONFIG_DIR%" (mkdir "%LOCAL_CONFIG_DIR%")

REM --- Download configuration file from S3 ---
echo Downloading configuration from %S3_CONFIG_PATH%...
aws s3 cp "%S3_CONFIG_PATH%" "%LOCAL_CONFIG_FILE%"
IF %ERRORLEVEL% NEQ 0 (
    echo ERROR: Failed to download configuration file from S3.
    exit /b 1
)
echo Configuration downloaded to %LOCAL_CONFIG_FILE%.

REM --- Launch the application with config file ---
echo Starting application...
my-app.exe --config "%LOCAL_CONFIG_FILE%" %*
exit /b %ERRORLEVEL%
```

您不需要變更應用程式程式碼。AWS CLI 和所有 AWS SDKs會透過 [AWS 開發套件憑證提供者鏈自動探索並使用憑證](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html#credentialProviderChain)。

AWS CLI 2.35.11 版適用於所有 Amazon GameLift Streams 執行期環境 (Windows、Ubuntu 和 Proton)。AWS CLI 和所有 AWS SDKs會在工作階段的生命週期內自動重新整理登入資料。

如需完整的設定指南，包括建立 IAM 角色、信任政策和故障診斷，請參閱 [將 AWS 登入資料提供給串流應用程式](session-credentials.md)。

**注意**  
請勿透過 `AdditionalEnvironmentVariables`（例如 `AWS_ACCESS_KEY_ID`或 `AWS_SECRET_ACCESS_KEY`) 傳遞 AWS 登入資料。這些會優先考慮並防止您的應用程式使用 IAM 角色登入資料。