2015-02-28 22 views
5

Tôi đang cố bắt đầu phát triển dựa trên dịch vụ Dynamo DB cục bộ. Bước đầu tiên chỉ đơn giản là tạo ra một khách hàng:Không thể tạo đối tượng thông tin của Amazon Web Services (AWS)

var storedAWSCreds = new StoredProfileAWSCredentials(); 

này ném một ngoại lệ:

App.config không chứa thông tin chứng chỉ. Hoặc thêm AWSAccessKey và AWSSecretKey hoặc AWSProfileName

app.config của tôi có các thuộc tính cần thiết:

<add key="AWSProfileName" value="justin"/> 
<add key="AWSProfilesLocation" value="C:\code\dynamodb\credentials"/> 

Các thông tin hồ sơ file:

justin 
aws_access_key_id = REMOVED-FOR-POST 
aws_secret_access_key = REMOVED-FOR-POST 

Tại thời điểm này tôi nghĩ rằng tôi sẽ hãy thử một trong các phương thức bị quá tải khác và nói rõ ràng cho hàm khởi tạo về các thông số phải là:

var storedAWSCreds = new StoredProfileAWSCredentials("justin", @"C:\code\dynamodb\credentials"); 

Một lần nữa, cùng một ngoại lệ.

Được rồi, ngoại trừ nói rằng tôi có thể cung cấp các thông tin trực tiếp trong cấu hình của tôi vì vậy tôi cố gắng rằng:

<add key="AWSAccessKey" value="REMOVED-FOR-POST"/> 
<add key="AWSSecretKey" value="REMOVED-FOR-POST"/> 

Một lần nữa, cùng một ngoại lệ.

Làm cách nào để tạo đối tượng StoredProfileAWSCredentials? Tôi rõ ràng thiếu một cái gì đó rõ ràng hoặc thông điệp ngoại lệ của họ là không chính xác.

Tôi sẽ chỉ ra, tôi có thể tạo ra một đối tượng BasicAWSCredentials bằng cách xác định khóa truy cập và khóa bí mật trong các nhà xây dựng:

var basicAWSCreds = new BasicAWSCredentials("REMOVED-FOR-POST", "REMOVED-FOR-POST"); 

Nhưng, tại một số điểm tôi muốn không có nó mã hóa cứng trong ứng dụng của tôi.

+0

câu hỏi đơn giản: được app.config của bạn bị sao chép một cách chính xác vào thư mục thực hiện? –

+0

@SvenGrosen - Vâng, tôi đang chạy ứng dụng trực tiếp từ Visual Studio khi tôi đang cố gắng phát triển dựa trên một cá thể DynamoDB cục bộ. –

+1

Sau đây có thể hữu ích: Theo https://forums.aws.amazon.com/thread.jspa?messageID = 567665 - "Thông báo ngoại lệ này hơi gây hiểu nhầm, nhưng điều này thường có nghĩa là SDK đã cố tra cứu hồ sơ bạn đã chỉ định và không thể tìm thấy nó" –

Trả lời

0

Tên cấu hình cần phải được để trong ngoặc vuông, như vậy

[justin] 
aws_access_key_id = REMOVED-FOR-POST 
aws_secret_access_key = REMOVED-FOR-POST 
4

phần cấu hình của bạn

<add key="AWSProfilesLocation" value="C:\code\dynamodb\credentials" /> 

nên

<add key="AWSProfilesLocation" value="C:\code\dynamodb\credentials\filename.json" /> 

cho nó để làm việc. Nói cách khác, chỉ định tên tệp trong vị trí Hồ sơ.

Nếu bạn sử dụng SDK mới hơn sau đó sử dụng những điều sau đây sẽ làm việc cũng như:

<configSections> 
    <section name="aws" type="Amazon.AWSSection, AWSSDK" /> 
</configSections> 
<aws profileName="YourProfileName" profilesLocation="C:\aws\credentials\aws-credentialfile.json" region="xx-xxxx-x" /> 

Nachi

Các vấn đề liên quan