AccessKey yapılandırması, zaman aşımı hataları ve kimlik bilgisi sorunları dahil olmak üzere Alibaba Cloud .NET SDK ile ilgili sık sorulan soruların yanıtları.
Ön Koşullar
.NET Framework 4.5+ veya .NET Core 2.0+ yüklü olmalıdır.
Genel Bakış
AccessKey yapılandırma hataları
Aşağıdaki hata, hatalı bir AccessKey çifti kullanıldığını gösterir:
Alibaba Cloud SDK V2.0: Unhandled exception. Tea.TeaException: Please set up the credentials correctly. If you are setting them through environment variables, please ensure that ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set correctly.
Alibaba Cloud SDK V1.0: Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Access key ID cannot be null.')
Çözümler:
-
ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET ortam değişkenlerinin ayarlandığını doğrulayın:
Linux or macOS
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETWindows
echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%Geçerli bir AccessKey çifti döndürülüyorsa ortam değişkenleri doğrudur. Aksi takdirde bu değişkenleri yeniden yapılandırın. Daha fazla bilgi için bkz. Linux, macOS ve Windows'ta ortam değişkenlerini yapılandırma.
-
Kodda AccessKey ile ilgili hataları kontrol edin.
Hatalı örnek:
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = Environment.GetEnvironmentVariable("yourAccessKeyID"), AccessKeySecret = Environment.GetEnvironmentVariable("yourAccessKeySecret"), };Doğru örnek:
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), };NotBu çağrılar, AccessKey ID ve Secret değerlerini ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET ortam değişkenlerinden okur.
ÖnemliAccessKey sızıntılarını önlemek için AccessKey çiftini kodunuzda düz metin olarak doğrudan yazmayın.
TimeoutException hataları
API çağrısı zaman aşımlarının birden çok nedeni olabilir. Yaygın nedenler ve çözümler aşağıda verilmiştir.
Ağ bağlantısı sorunları
Başarısız veya kararsız bir ağ bağlantısı nedeniyle API isteği sunucuya ulaşamaz.
Çözümler:
Hizmet uç noktasına bağlantıyı test etmek için ping veya curl kullanın. Örneğin, bir SMS API çağrısı zaman aşımına uğrarsa ping dysmsapi.aliyuncs.com veya curl -v https://dysmsapi.aliyuncs.com komutunu çalıştırın.
Komut zaman aşımına uğrar veya yanıt dönmezse yerel güvenlik duvarınızı veya yönlendiricinizdeki engelleme kurallarını kontrol edin.
-
Yanıt alınıyorsa uygun bir zaman aşımı süresi ayarlayın. Daha fazla bilgi için bkz. Zaman aşımı süresi yapılandırma. Örnek kod:
// Configure the timeout period for connection requests by using runtime parameters. The timeout period takes effect only for requests that use RuntimeOptions. RuntimeOptions runtimeOptions = new RuntimeOptions(); runtimeOptions.ConnectTimeout = connectionTimeoutMillis;
API isteğinin uzun işleme süresi
API isteği işleme süresi okuma zaman aşımı süresini aşıyor.
Çözüm: Okuma zaman aşımı süresini uzatın. Daha fazla bilgi için bkz. Zaman aşımı süresi yapılandırma. Örnek kod:
// Configure the timeout period for read requests by using runtime parameters. The timeout period takes effect only for requests that use RuntimeOptions.
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.ReadTimeout = readTimeoutMillis;
ArgumentNullException: Value cannot be null
Aliyun.Credentials paketi güncel değil. En son sürüme yükseltin:
dotnet add package Aliyun.Credentials
Yaygın C# özel durumları
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Teknik destek
Diğer Alibaba Cloud SDK sorunları için:
Teknik destek DingTalk grubu: 60965016010.