第 4 版 (V4) 適用於 .NET 的 AWS SDK 已發行!
如需有關中斷變更和遷移應用程式的資訊,請參閱遷移主題。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移至 第 4 版 適用於 .NET 的 AWS SDK
適用於 .NET 的 AWS SDK 第 4 版 (V4) 有大量 SDK 第 3 版 (V3) 的重大變更。本主題說明第 4 版中的重大變更,以及從 V3 遷移環境或程式碼時可能需要執行的可能工作。如需 SDK 中其他值得注意變更的其他資訊,請參閱下列資源:
-
GitHub 上的開發追蹤器問題:https://github.com/aws/aws-sdk-net/issues/3362
。
.NET Framework
.NET Framework 3.5 目標已從 的 V4 中移除。 適用於 .NET 的 AWS SDK因此,開發套件不再支援 .NET Framework 3.5。此版本的 SDK 是針對 .NET Framework 4.7.2 編譯,並在 .NET 4.0 執行時間中執行。如需詳細資訊,請參閱支援的平台。
值類型
在用於提出請求和回應的類別中使用值類型的屬性已變更為使用 nullable 值類型。具有下列類型的屬性已變更:
-
bool已變更為bool? -
double已變更為double? -
int已變更為int? -
float已變更為float? -
long已變更為long? -
Datetime已變更為Datetime?
如需有關此變更的其他資訊,請參閱部落格文章 V4 的 適用於 .NET 的 AWS SDK 預覽 1
集合
在用於提出請求和回應的類別中使用集合的屬性現在預設為 null。因此,在嘗試使用集合之前,您的程式碼需要驗證集合不是 null。例如:
var sqsClient = new AmazonSQSClient(); var listResponse = await sqsClient.ListQueuesAsync(new ListQueuesRequest()); if (listResponse.QueueUrls != null) { foreach (string qUrl in listResponse.QueueUrls) { // Perform operations on each queue such as displaying all the attributes. } }
初始化集合的 V3 行為可以透過將 設定為 Amazon.AWSConfigs.InitializeCollections來還原true。對於想要在升級至 V4 之前嘗試此行為變更的使用者,此屬性也存在於 V3 中。 V4
如需此變更的其他資訊,請參閱 V4 的部落格文章預覽 1 適用於 .NET 的 AWS SDK
AWS Security Token Service (STS)
-
區域端點
使用依賴的登入資料提供者時 AWS STS,呼叫一律使用區域端點。這與軟體開發套件的 V3 不同,該開發套件
us-east-1預設會在公有分割區中執行時使用該區域,無論設定的區域為何。 -
StsRegionalEndpointsValue列舉列舉已從
StsRegionalEndpointsValueAmazon.Runtime 命名空間中移除。任何使用該列舉的程式碼都應該移除。 -
STSAssumeRoleAWSCredentials類別已取代的 STS 擔任角色登入資料提供者
STSAssumeRoleAWSCredentials已從 Amazon.SecurityToken 命名空間中移除。請改用 Amazon.Runtime 的 AssumeRoleAWSCredentials。
與 相關的變更 ClientConfig
Amazon.Runtime.ClientConfig 類別是服務用戶端組態類別的基本類別,例如 AmazonS3Config。已對此基本類別進行下列變更。
-
預設重試模式
RetryMode屬性預設為Standard,而不是Legacy。因此,該Legacy值已從 Amazon.Runtime.RequestRetryMode 列舉中移除。 -
預設組態模式
DefaultConfigurationMode屬性預設為 ,Standard而不是Legacy。因此,該Legacy值已從 Amazon.Runtime.DefaultConfigurationMode 列舉中移除。 -
ReadWriteTimeout屬性從除 .NET Framework 4.7.2 以外的所有目標移除過時
ReadWriteTimeout屬性。
AWSSDK.Extensions.NETCore.Setup NuGet 套件
AWSSDK.Extensions.NETCore.Setup
-
DefaultClientConfig類別DefaultClientConfig類別不再繼承自服務用戶端組態基礎類別 Amazon.Runtime.ClientConfig。來自 的相關屬性ClientConfig已在DefaultClientConfig上使用 nullable 值類型複寫。此變更可讓我們在將值複製到為服務用戶端建立的組態DefaultClientConfig時,偵測是否已在 上設定值。此變更的一個特定結果是 V4
DefaultClientConfig.HttpClientFactory中不再提供。請改用AWSConfigs.HttpClientFactory。如需詳細資訊,請參閱 GitHub 問題 3790。 此變更的另一個結果是,已接受服務組態物件之
IConfiguration.GetAWSOptions延伸方法的一般過載已移除。應該改用非一般過載,開發套件會自動處理填入服務特定的設定。如需詳細資訊,請參閱 GitHub 問題 3866。 -
原生 AOT
建立使用 C# 11 靜態介面方法之服務用戶端的新機制已新增至套件。此變更不需要執行組裝類型載入來建立服務用戶端的執行個體,包括服務介面名稱的字串操作來運算與原生 AOT 不相容的服務用戶端類型。此變更僅適用於 .NET 8 和更新版本;較舊版本仍使用原始機制。
如需本指南中關於此套件的其他資訊,請參閱 AWSSDK.Extensions.NETCore.Setup 和 IConfiguration。此套件的原始碼位於 GitHub,網址為 https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup
CookieSigner 和 UrlSigner
Amazon CloudFront 的 CookieSigner和 UrlSigner擴充功能已移至名為 AWSSDK.Extensions.CloudFront.Signers
此套件的原始碼位於 GitHub,網址為 https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers
DateTime 與 UTC DateTime
有些 V3 類別具有標示為「已棄用」或「淘汰」的 DateTime 屬性,以及替代的 UTC DateTime 屬性。在這些類別中,已移除過時的 DateTime 屬性,並將 UTC DateTime 屬性的名稱變更為 DateTime 屬性的原始名稱。
以下是已實作此變更之類別的一些範例。
-
DescribeSpotPriceHistoryRequest:
-
已移除過時
StartTime屬性,且StartTimeUtc屬性的名稱已變更為「StartTime」。 -
已移除過時
EndTime屬性,且EndTimeUtc屬性的名稱已變更為「EndTime」。
-
-
-
已移除過時
ValidFrom屬性,且ValidFromUtc屬性的名稱已變更為「ValidFrom」。 -
已移除過時
ValidUntil屬性,且ValidUntilUtc屬性的名稱已變更為「ValidUntil」。
-
如果應用程式使用原始、已淘汰的 DateTime 屬性,則此變更可能會導致偏移時間。使用 UTC DateTime 屬性的程式碼會發生編譯時間錯誤。
DateTime 剖析
DateTimeUnmarshaller 類別已更新。此類別已剖析並傳回 DateTime 字串做為本機時間。在某些情況下,這些值因為先前的更新而轉換回 UTC,但並非一律如此。現在,未封送的 DateTime 字串會假設為 UTC,並將指定和取消封送為 UTC。此更新包含下列行為變更。
某些以 DateTime 類別為基礎的時間戳記屬性已剖析為當地時間。這些包含時間戳記的回應取消封送程式,並列出格式 TimestampFormat.ISO8601和 的時間戳記TimestampFormat.RFC822。DateTime 剖析已更新,改為傳回 UTC 時間。
ConvertFromUnixEpochSeconds 和 ConvertFromUnixEpochMilliseconds
ConvertFromUnixEpochSeconds 和 ConvertFromUnixEpochMilliseconds 方法會將 Unix epoch 秒轉換為 DateTime 結構,並以本機時間而非 UTC 時間傳回 Unix Epoch 時間。這些方法現在會傳回 UTC 時間。
日誌
您在開發套件中啟用記錄的方式已更新為 V4。記錄到主控台和系統診斷的運作方式與 V3 相同;也就是說,將 AWSConfigs 類別的 LoggingConfig.LogTo 屬性設定為 LoggingOptions.Console或 LoggingOptions.SystemDiagnostics。的 LoggingOptions 選項log4net已與開發套件的內部邏輯一起移除,以使用反射連接至 的記憶體內執行個體log4net。
若要將 SDK 登入記錄架構,會使用個別的轉接器套件來連接 SDK 與記錄架構。使用適用於 的 AWSSDK.Extensions.Logging.Log4NetAdaptorlog4net和適用於 的 AWSSDK.Extensions.Logging.ILoggerAdaptorMicrosoft.Extensions.Logging。下列程式碼範例示範如何在這兩種情況下設定記錄。
新增 AWSSDK.Extensions.Logging.Log4NetAdaptor NuGet 套件,並從 呼叫靜態ConfigureAWSSDKLogging方法Log4NetAWSExtensions。
using Amazon.DynamoDBv2; using Amazon.Extensions.Logging.Log4NetAdaptor; using log4net; [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")] Log4NetAWSExtensions.ConfigureAWSSDKLogging(); var logger = LogManager.GetLogger(typeof(Program));
新增 AWSSDK.Extensions.Logging.ILoggerAdaptor NuGet 套件,並從ILoggerFactory界面呼叫ConfigureAWSSDKLogging擴充功能方法。
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.Services.GetRequiredService<ILoggerFactory>() .ConfigureAWSSDKLogging();
支援 HTTP 2
已新增對 HTTP 2 的支援,以啟用雙向串流。如需更多資訊,請參閱支援 HTTP 2。
單一登入
SSOAWSCredentialsOptions 類別的 SupportsGettingNewToken 屬性預設值已從 變更為 true false。如果您有使用 SSOAWSCredentials 類別來取得 SSO 登入資料的應用程式,您可能需要將 Options.SupportsGettingNewToken 屬性設定為 true。如需此組態的範例,請參閱 中的程式碼範例僅使用 .NET 應用程式的 SSO 教學課程。如需詳細資訊,請參閱 aws-sdk-net
DynamoDB 特定的變更
下列變更專屬於 Amazon DynamoDB。其中許多都是重大變更。
如需有關 的 V4 中 DynamoDB 變更的其他資訊 適用於 .NET 的 AWS SDK,請參閱部落格文章 V4 的 適用於 .NET 的 AWS SDK 預覽 4
適用於 DynamoDB 的 SDK 中的 V4 變更解決了有關可測試性的一些問題,但主要以高階程式庫為中心:
-
程式碼中名為 DocumentModel 的 .NET Document Model。
-
程式碼中名為 DataModel 的 .NET Object Persistence Model。
如需這些程式設計模式的詳細資訊,請參閱本指南DynamoDB中的 。
文件模型:更新模擬IAmazonDynamoDB界面的例外狀況
在開發套件 V4 之前的文件模型中,如果資料表是使用模擬 IAmazonDynamoDB 介面初始化,則會傳回 NullReferenceException。開發套件的 V4 會InvalidOperationException改為傳回。非同步Table方法應與模擬用戶端搭配使用,但當您從 呼叫同步方法時,仍可能會看到例外狀況.NET/Core/Standard。
如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3388
文件模型: FromJson和 ToJson方法
文件類別的 FromJson和 ToJson方法現在使用 System.Text.Json而非 LitJson 進行序列化,而且 LitJson 已從 SDK 的 V4 中移除。使用 的好處System.Text.Json是此剖析器支援使用 .NET Decimal類型,該類型支援數值浮點屬性的更高精確度。
物件持久性模型: DynamoDBOperationConfig類別
在物件持久性模型中,已對共用的 DynamoDBOperationConfig 類別進行下列變更:
-
類別已分成新的操作特定類別,例如 SaveConfig、LoadConfig 和 QueryConfig。採用的方法
DynamoDBOperationConfig已標示為已過時,且未來可能會移除。如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3421
。 -
已從 類別中移除
MetadataCachingMode和DisableFetchingTableMetadata屬性。這些屬性不包含在先前提及的新操作特定類別中。移除的屬性是資料表層級設定,應在 AWSConfigsDynamoDB 類別的全域Context屬性或 DynamoDBContextConfig 類別上指定。如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3422
。 -
類別不再繼承自 DynamoDBContextConfig 類別。這可防止您將
DynamoDBOperationConfig物件傳遞至 DynamoDBContext 的建構函式,其中操作特定組態 (例如OverrideTableName) 上的某些屬性不適用。如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3422
。
物件持久性模型:多形性
DynamoDBPolymorphicTypeAttribute 類別已新增至物件持久性模型。此類別支援多態類型的序列化和還原序列化。如需詳細資訊,請參閱 GitHub 上的 PR 3643
文件模型和物件持久性模型:可模擬操作
已新增新的操作特定界面,允許客戶模擬 DynamoDB 操作。IDynamoDBContext 界面上的原廠方法已更新,以傳回新的界面。
如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3450
-
物件持續性模型
-
透過
IBatchGet和IMultiTableBatchGet介面的模擬BatchGet操作。 -
透過
IBatchWrite和IMultiTableBatchWrite介面的模擬BatchWrite操作。 -
透過
ITransactGet和IMultiTableTransactGet介面的模擬TransactGet操作。 -
透過
ITransactWrite和IMultiTableTransactWrite介面的模擬TransactWrite操作。 -
透過
IAsyncSearch界面的模擬Scan和Query操作。
-
-
文件模型
-
透過
ITable界面的模擬Table操作。 -
透過
ISearch界面的模擬Scan和Query操作。 -
透過
IDocumentTransactWrite和IMultiTableDocumentTransactWrite介面的模擬TransactWrite操作。 -
透過
IDocumentTransactGet和IMultiTableDocumentTransactGet介面的模擬TransactGet操作。 -
透過
IDocumentBatchWrite和IMultiTableDocumentBatchWrite介面的模擬BatchWrite操作。 -
透過
IDocumentBatchGet和IMultiTableDocumentBatchGet介面的模擬BatchGet操作。
-
文件模型和物件持久性模型:支援原生 AOT
原生 AOT 的限制支援巢狀 .NET 類型。在某些情況下,.NET 編譯器的修剪元件可能會忽略這些巢狀類型。在這種情況下,您可能會收到例外狀況,例如:"System.InvalidOperationException: Type <type> is unsupported, it cannot be instantiated."
您可以新增程式碼路徑中的DynamicDependency某個位置來解決此限制,以通知修剪器有關子類型的相依性。儲存的最上層 .NET 類型的建構函式可能是 位置。下列程式碼範例示範如何使用 DynamicDependency 屬性:
[DynamoDBTable("TestTable")] class TypeWithNestedTypeProperty { [DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(SubType))] public TypeWithNestedTypeProperty() { } [DynamoDBHashKey] public string Id { get; set; } public string Name { get; set; } public SubType SubType { get; set; } } class SubType { public string SubName { get; set; } }
DynamoDBStreams
DynamoDBStreams 已從 AWSSDK.DynamoDBAmazon.DynamoDBStreams。
允許移除 TableNamePrefix值
您現在可以在個別操作層級的 DynamoDBContextConfig 類別中移除 TableNamePrefix 屬性的值。如需此變更的詳細資訊,請參閱 GitHub 上的 PR 3476
RetrieveDateTimeInUtc 屬性
對於 DynamoDBContextConfig 類別, RetrieveDateTimeInUtc 屬性的預設值已變更為 true。
DynamoDBContextTableNamePrefix 屬性
從 AWSConfigsDynamoDB 類別移除 DynamoDBContextTableNamePrefix 屬性。使用者應呼叫 AWSConfigsDynamoDB.Context.TableNamePrefix,而不是
EC2 特定的變更
下列變更專屬於 Amazon EC2。其中大多數或全部正在中斷變更。
GetDecryptedPassword
Amazon EC2 的GetDecryptedPassword擴充功能已移至名為 AWSSDK.Extensions.EC2.DecryptPassword
此套件的原始碼位於 GitHub,網址為 https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword
支援 Amazon EC2 IMDSv1
執行個體中繼資料服務第 1 版 (IMDSv1) 的支援已移除。從 IMDS 擷取登入資料和其他中繼資料時,軟體開發套件的 V4 一律使用執行個體中繼資料服務第 2 版 (IMDSv2)。IMDSv2 如需 IMDS 的詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用 IMDS。 Amazon EC2
已變更或移除的程式設計元素
-
已移除整個
Amazon.EC2.Import命名空間和程式碼。 -
已移除整個
Amazon.EC2.Util命名空間和程式碼,其中包含用於查詢 Windows EC2 AMIs AMI 公用程式。 -
已將淘汰的
IpRanges屬性從 IpPermission 類別中移除。請改用Ipv4Ranges或Ipv6Ranges屬性。 -
下列已移除 EC2InstanceMetadata 類別中的過時欄位:
EC2_METADATA_SVC、EC2_METADATA_ROOT、EC2_DYNAMICDATA_ROOT、EC2_USERDATA_ROOT和EC2_APITOKEN_URL。
S3 特定的變更
下列變更專屬於 Amazon S3。其中大多數或全部正在中斷變更。
AWS 區域 us-east-1
為 us-east-1區域設定的 Amazon S3 服務用戶端無法再存取其他區域中的儲存貯體。必須使用為儲存貯體所在的區域設定的 S3 服務用戶端來存取儲存貯體。
如需有關此變更的其他資訊,請參閱 V4 適用於 .NET 的 AWS SDK 的部落格文章預覽 V4
S3 加密用戶端
Amazon.S3.Encryption 命名空間中定義的 Amazon S3 加密用戶端已從 AWSSDK.S3
的 S3 標記指令 CopyObject
TaggingDirective 屬性已公開為 CopyObjectRequest 類別的公有屬性,由 AmazonS3Client.CopyObject 方法使用。此屬性對應至 Amazon S3 x-amz-tagging-directive 參數,如 CopyObject 動作所定義。
標記指令不會再自動設定為 COPY。如果開發人員未指定標記指令,S3 後端會自動假設它是 COPY,但如果開發人員明確將 屬性設定為 null,則完全不會設定該值。
S3 組態的 UseArnRegion 屬性
Amazon.S3.AmazonS3Config 類別的 UseArnRegion 屬性已更新,因此AWS_S3_USE_ARN_REGION環境變數優先於共用 AWS config檔案中s3_use_arn_region的設定。如需這些變數和設定的詳細資訊,請參閱 SDK 和工具參考指南中的設定參考。 AWS SDKs
CopyObject 和 CopyPart方法的前斜線
Amazon S3 CopyObject和 CopyPart方法不會再修剪正斜線。DisableTrimmingLeadingSlash 屬性已從 CopyObjectRequest 和 CopyPartRequest 類別中移除。
DoesS3BucketExist... 方法
已將淘汰的 DoesS3BucketExist和 DoesS3BucketExistAsync方法從 AmazonS3Util 類別中移除,這會實作 ICoreAmazonS3 介面。這些方法已移除,因為它們一律使用 HTTP。請改用 DoesS3BucketExistV2 和 DoesS3BucketExistV2Async。
SDK 一律使用 SigV4
第 4 版 適用於 .NET 的 AWS SDK 一律使用 AWS Signature 第 4 版 (SigV4) 簽署請求。此變更會導致下列相關變更:
-
AWSConfigsS3 類別的
UseSignatureVersion4屬性已移除。 -
Amazon.Runtime.ClientConfig 類別的
SignatureVersion屬性已移除。此屬性僅供 Amazon S3 用於回溯相容性。 -
已移除
RegionEndpoint.Endpoint類別。這包括SignatureVersionOverride屬性,用於覆寫 Amazon S3 的簽章版本。請改用 服務特定的client.DetermineServiceOperationEndPoint()方法。 -
已更新方法 AmazonS3Util.PostUpload 和 S3PostUploadSignedPolicy.GetSignedPolicy,以使用 SigV4。因此,
S3PostUploadSignedPolicy.GetSignedPolicyV4方法已移除,因為GetSignedPolicy現在會執行相同的 函數。此外,GetSignedPolicy已獲得區域端點的第三個參數。
GetACL 和 PutACL方法
AmazonS3Client 類別的 GetACL和 PutACL方法已標記為已過時。若要存取這些方法的功能,請改用下列新方法:GetBucketACL、GetObjectACL、 PutBucketACL和 PutObjectACL。
已移除過時的程式設計元素
Amazon S3 實作的許多程式設計元素已從 SDK 的 V4 中移除,包括列舉值、類型、方法、命名空間等。如果先前尚未涵蓋這些項目,以及您可以採取以適應其移除的潛在步驟,則會列出如下。
-
DisableMD5Stream屬性已從 TransferUtilityUploadRequest 類別中移除。請改用DisableDefaultChecksumValidation屬性。此外,
CalculateContentMD5Header屬性已從TransferUtilityUploadRequest類別中移除。此屬性已不再需要,因為 SDK 預設會計算檢查總和。 -
ServerSideEncryptionMethod和ServerSideEncryptionKeyManagementServiceKeyId屬性已從 CopyPartRequest 類別中移除。請改用 InitiateMultipartUploadRequest 類別中名稱相同的屬性,這些屬性用於 AmazonS3Client 類別的某些InitiateMultipartUpload...方法。 -
Expires屬性已從 GetObjectResponse 類別中移除。請改用ExpiresString屬性。字串可能不是有效的時間戳記格式,因此您的程式碼在轉換為 時應使用TryParse方法DateTime。 -
已將過時的 AWS 區域 識別符從 S3Region 列舉中移除。
-
Prefix屬性已從 LifecycleRule 類別中移除。請改用Filter屬性。此外,
NoncurrentVersionTransition和Transition屬性已從LifecycleRule類別中移除。請改用NoncurrentVersionTransitions和Transitions集合。 -
Event屬性已從 TopicConfiguration 類別中移除。請改用Events集合。 -
CalculateContentMD5Header 屬性。此屬性不再需要設定,因為 SDK 預設會計算檢查總和。
-
Bucket屬性已從 SelectObjectContentRequest 類別中移除。請改用BucketName屬性。 -
NumberOfUploadThreads屬性已從 TransferUtilityConfig 類別中移除。請改用ConcurrentServiceRequests屬性。
已移除的程式設計元素
已從 SDK 的 V4 中移除許多程式設計元素,包括列舉值、類型、方法、命名空間等。如果先前尚未涵蓋這些項目,以及您可以採取以適應其移除的潛在步驟,則會列出如下。
Amazon.Auth.AccessControlPolicy.ActionIdentifiers 命名空間
已移除Amazon.Auth.AccessControlPolicy.ActionIdentifiers命名空間。這包括在 IdentityandAccessManagementActionIdentifiers類別中定義的 IAM 動作識別符。使用這些動作識別符的程式碼應變更為使用動作名稱的字串值。
如需詳細資訊,請參閱《IAM 使用者指南》中的 從 JSON 建立 IAM 受管政策和 JSON 政策概觀。
ClientConfig 類別
Amazon.Runtime.ClientConfig 類別是服務用戶端組態類別的基本類別,例如 AmazonS3Config。已從此類別中移除下列程式設計元素。
-
DetermineServiceURL和DetermineDnsSuffix方法已移除。請改用 服務用戶端的DetermineServiceOperationEndpoint方法;例如,AmazonS3Client.DetermineServiceOperationEndpoint。 -
ReadEntireResponse屬性已移除。請改用下列其中一項:-
AWSConfigs.LoggingConfig 類別的
LogResponses屬性。 -
用戶端組態的
LogResponse屬性,例如 AmazonS3Config。
-
Amazon.Runtime 命名空間
Amazon.Runtime 命名空間已更新,如下所示:
-
已將淘汰的
ECSTaskCredentials類別從命名空間中移除。請改用 GenericContainerCredentials 提供者,這也支援 Amazon EKS Pod 身分。 -
已將淘汰的
StoredProfileAWSCredentials和StoredProfileCredentials類別從命名空間中移除。請改用 Amazon.Runtime.CredentialManagement 命名空間的 NetSDKCredentialsFile 或 SharedCredentialsFile 類別。 CredentialManagement -
SSOAWSCredentials 類別的淘汰
HasCachedAccessTokenAvailable方法已從命名空間中移除。 -
已將淘汰的
EnvironmentAWSCredentials類別從命名空間中移除。請改用 AppConfigAWSCredentials 類別。 -
已將淘汰的
StoredProfileFederatedCredentials類別從命名空間中移除。請改用 FederatedAWSCredentials 類別。 -
已從命名空間中移除下列已淘汰的類別:
EnvironmentVariableAWSEndpointDiscoveryEnabled、ProfileAWSEndpointDiscoveryEnabled和FallbackEndpointDiscoveryEnabledFactory。 -
已將淘汰的
UseSigV4屬性從 AmazonWebServiceRequest 類別中移除。請改用SignatureVersion屬性。 -
Amazon.Runtime.Internal.Util命名空間中的ProfileIniFile類別具有稱為 的過載方法TryGetSection。不支援 的out參數的 方法版本nestedProperties已從 類別中移除。 -
已移除
Amazon.Runtime.Internal.Auth命名空間中已淘汰的EventBridgeSigner類別。 -
已將過時的
Parameters字典屬性從 WebServiceRequestEventArgs 類別中移除。請改用ParameteCollection屬性。
BouncyCastle
BouncyCastle 的來源複本已從 SDK 的 V4 中移除。
StoredProfileSAMLCredentials 類別
Amazon.SecurityToken.SAML 命名空間中的淘汰StoredProfileSAMLCredentials類別已移除。請改用 Amazon.Runtime 命名空間中的 FederatedAWSCredentials 類別。
AWSSDKUtils 類別
下列方法已從 AWSSDKUtils 類別中移除:ProtectEncodedSlashUrlEncode、 ResolveResourcePath和 ConvertToUnixEpochMilliSeconds。
ProfileManager 類別
已將淘汰的ProfileManager類別從 Amazon.Util 命名空間中移除。請改用 Amazon.Runtime.CredentialManagementCredentialManagement 命名空間中的 NetSDKCredentialsFile 或 SharedCredentialsFile 類別。
AWSConfigs 類別
下列淘汰屬性已從 AWSConfigs 類別中移除:ResponseLogging、 Logging和 LogMetrics。請改用 LoggingConfig 屬性。
ConditionFactory 類別
具有下列簽章的 方法已從 ConditionFactory 類別中移除:NewCondition(ConditionFactory.DateComparisonType, DateTime)。請改用 NewConditionUtc 方法。
Amazon CloudFront 公用程式
已移除過時的Amazon.CloudFront.Util命名空間和AmazonCloudFrontUtil類別。
AWS IoT
在 ListPrincipalThingsResponse 類別中,NextToken覆寫的舊版自訂已移除,有利於分頁。
AWS Lambda
AmazonLambdaClient 類別的下列Invoke...方法已移除,因為名稱令人混淆。
-
具有下列簽章的 V3 方法已移除:
InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest)。這是 SDK V3 中的同步方法。請改用InvokeResponse Invoke(InvokeRequest)(用於同步處理) 或Task InvokeAsync(InvokeRequest, CancellationToken)(用於非同步處理)。 -
具有下列簽章的 V3 方法已移除:
Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken)。這是 SDK V3 中的非同步方法。請改用Task InvokeAsync(InvokeRequest, CancellationToken)。
Amazon SageMaker 執行期
已移除已淘汰的 PayloadPart 類別建構函數。