MySQL Shell S3 支援已針對以下 S3 相容儲存服務進行測試
-
Amazon Web Services S3
如需更多資訊,請參閱Amazon Simple Storage Service 文件。
-
Oracle Cloud Infrastructure 物件儲存
如需更多資訊,請參閱Amazon S3 相容性 API。
MySQL Shell 支援在環境變數和組態檔案中設定 AWS 憑證。
組態參數依優先順序使用
選項。例如,
s3Profile
的優先順序高於環境變數AWS_PROFILE
和組態檔案中的預設設定檔。環境變數。例如,環境變數
AWS_SHARED_CREDENTIALS_FILE
的優先順序高於credentials
檔案的預設位置~/.aws/credentials
。預設環境變數 (如果存在)。例如,環境變數
AWS_REGION
和環境變數AWS_DEFAULT_REGION
。在組態檔案中定義的參數。
AWS 預設值。
例如,對於 AWS 區域,依優先順序排列:
s3Region
選項。AWS_REGION
環境變數。AWS_DEFAULT_REGION
環境變數。在組態檔案中定義的區域。
us-east-1
的預設值。
AWS 憑證依以下優先順序讀取:
環境變數 (如果未定義
s3Profile
選項)。指定設定檔的憑證檔案。
credential_process
,如組態檔案中所定義。此組態類型包含一個外部命令,用於擷取或產生 AWS 驗證憑證並將其寫入stdout
。指定設定檔的組態檔案。
如需有關 AWS 環境變數的資訊,請參閱用於設定 AWS CLI 的環境變數
您可以定義以下 AWS S3 專用環境變數:
AWS_PROFILE
:指定要使用的設定檔名稱。這可以是憑證或組態檔案中設定檔的名稱,或值default
以使用預設設定檔。此環境變數會覆寫組態檔案中命名的[default]
設定檔。您可以使用--s3Profile
選項覆寫此環境變數。AWS_SHARED_CREDENTIALS_FILE
:用於儲存存取金鑰的檔案位置。例如~/.aws/credentials
。AWS_CONFIG_FILE
:用於儲存組態設定檔的檔案位置。例如~/.aws/config
。AWS_REGION
:指定要將請求傳送至的 AWS 區域。此值會覆寫AWS_DEFAULT_REGION
環境變數和組態檔案中定義的profile
。AWS_DEFAULT_REGION
:指定要將請求傳送至的 AWS 區域。如果指定,此值會被--s3Region
選項和AWS_REGION
環境變數覆寫。AWS_ACCESS_KEY_ID
:指定與 IAM 使用者或角色關聯的 AWS 存取金鑰。AWS_SECRET_ACCESS_KEY
:指定與存取金鑰關聯的秘密金鑰。此變數會覆寫設定檔中定義的aws_secret_access_key
。AWS_SESSION_TOKEN
:指定如果您使用臨時安全憑證所需的會期權杖值。此變數會覆寫設定檔中定義的aws_session_token
。
MySQL Shell 在一個或多個組態檔案中需要以下參數:
aws_access_key_id
:指定與使用者關聯的存取金鑰。如果不存在,則會擲回例外狀況。aws_secret_access_key
:指定與存取金鑰關聯的秘密金鑰。如果不存在,則會擲回例外狀況。aws_session_token
:指定如果您使用臨時安全憑證所需的會期權杖。如果不存在,則不會用來驗證使用者。region
:指定雲端服務區域。如果不存在,則使用us-east-1
的預設值。-
credential_process
:此組態類型包含一個外部命令,用於擷取或產生 AWS 驗證憑證並將其寫入stdout
。注意credential_process
只能在config
檔案中定義。如需更多資訊,請參閱以下內容:
如果您已安裝並設定 AWS CLI,MySQL Shell 會自動從預設位置 .aws/
讀取連線參數。若要使用替代組態,請從命令列使用相關的覆寫選項。
如果您使用 Oracle Cloud Infrastructure 的 S3 相容性 API,請參閱建立客戶秘密金鑰,以瞭解如何建立所需的憑證。
依預設,AWS CLI 會建立兩個組態檔案:config
(儲存區域和輸出格式等參數) 和 credentials
(儲存存取金鑰和會期權杖)。也可以將所有組態參數放在單一檔案 config
中。如需更多資訊,請參閱AWS 組態和驗證設定 。但是,如果您在兩個檔案中都定義了存取金鑰和秘密存取金鑰,則以 credentials
檔案中定義的為優先。
以下範例顯示一對預設的 AWS CLI 組態檔案:
/home/.aws/credentials
[default]
aws_access_key_id = AKIA6AV......
aws_secret_access_key = XHRY579I.....
/home/.aws/config
[default]
region = us-west-1
output = json