2015-02-28 19 views
5

Próbuję zacząć opracowywać w oparciu o lokalną usługę Dynamo DB. Pierwszym krokiem jest po prostu tworzenie klienta:Nie można utworzyć poświadczeń usługi Amazon Web Services (AWS).

var storedAWSCreds = new StoredProfileAWSCredentials(); 

ta zgłasza wyjątek:

App.config nie zawiera informacji poświadczeń. Albo dodać AWSAccessKey i AWSSecretKey lub AWSProfileName

Moje app.config posiada potrzebnych właściwości:

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

poświadczenia profil file:

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

W tym momencie myślałem, że wypróbuj jedną z innych przeciążonych metod i jawnie powiedz konstruktorowi, jakie parametry powinny być:

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

Ponownie, takie same wyjątkiem.

Ok, wyjątek mówi mogę podać poświadczenia bezpośrednio w moim config więc próbowałem to:

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

Znowu ten sam wyjątek.

Jak mogę uzyskać StoredProfileAWSCredentials obiektu utworzonego? Wyraźnie brakuje mi czegoś oczywistego lub ich komunikaty o wyjątkach są nieprawidłowe.

będę podkreślić, mogę stworzyć BasicAWSCredentials obiektu przez podanie klucza dostępu i tajny klucz do konstruktora:

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

Ale w pewnym momencie wolałbym nie mieć to zakodowane w moja aplikacja.

+0

proste pytanie: czy Twój app.config są kopiowane prawidłowo do katalogu wykonującego? –

+0

@SvenGrosen - Tak, uruchamiam aplikację bezpośrednio z programu Visual Studio, ponieważ próbuję tworzyć z lokalną instancją DynamoDB. –

+1

Następujące mogą być pomocne: Według https://forums.aws.amazon.com/thread.jspa?messageID = 567665 - "Ten komunikat wyjątku jest nieco mylący, ale ogólnie oznacza, że ​​pakiet SDK próbował wyszukać określony profil i nie mógł go znaleźć" –

Odpowiedz

0

Nazwa profilu musi być w nawiasach kwadratowych, tak jak

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

swojej sekcji config

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

powinny być

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

go do pracy. Innymi słowy określ nazwę pliku w lokalizacji profilu.

Jeśli używasz nowszej SDK następnie przy użyciu następujących będzie działać także:

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

Nachi

Powiązane problemy