2014-09-12 7 views
9

ich Dienst in PHP schreiben möchten, wo -Benötigen Sie ein komplettes Beispiel für DynamoDB mit php

1) DynamoDB wird Tabelle t mit zwei Spalten Schlüssel und val

2) Ich werde überprüfen, wenn einige Schlüssel vorhanden in der Tabelle t oder nicht.

3) Wenn Daten gelesen existieren .. wenn nicht Einsatz neuen Schlüsselwert in der Tabelle t

vorhanden war ich ein paar Links Überprüfung http://docs.aws.amazon.com/AWSSDKforPHP/latest/index.html#m=AmazonDynamoDB/put_item http://docs.aws.amazon.com/aws-sdk-php/guide/latest/quick-start.html

Welches zu folgen?

Auch kann mir jemand schnelles Beispiel und genaue Syntax geben.

Vielen Dank im Voraus.

+2

Sie müssen einige Arbeit zu zeigen, und um ein bestimmtes Problem fragen. Diese Frage ist die gleiche wie 'Schreibe meinen Code für mich', was ich tun könnte, wenn du meinen Tagespreis erfährst! –

+0

Der erste Link ist alt; Benutze den zweiten Link. Im [AWS SDK für PHP Benutzerhandbuch] (http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html) finden Sie alles, was Sie für die Verwendung des AWS SDK benötigen , und von dort gibt es auch Links zu den [neuesten API-Dokumenten für DynamoDB] (http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.DynamoDb.DynamoDbClient.html). –

Antwort

23

Der vollständige Durchlauf ist HERE entfernt. Es gibt Ihnen einen Schritt für Schritt Umriss des Setup-Prozesses für Berechtigungsnachweise und kommt mit einem einfach zu Setup PHP SDK for AWS

AWS Add-On zu verwenden - AWS nicht dem Credentials-Setup für Sie Schritt für Schritt eingestellt auslegen , so werde ich.
  • 1. AWS gehen und erhalten Sie Ihre PUBLIC_KEY und private_key

    • AWS hat Tutorials für diese HERE und HERE
  • 2. öffnen Terminal

  • 3. Wenn Sie Ihre Anmeldeinformationen nicht noch erstellt haben, im Terminal die neue Seite, geben Sie in:

    nano ~/.aws/credentials 
    
    • Die nano Funktionsseite wird geöffnet. Sie werden GNU nano 2.0.6... an der Spitze sehen.
  • 4. Innerhalb der nano Seite, geben Sie in:

    [default] 
    aws_access_key_id = public_key_ABCDEFGHIJKLMNOPQRSTUVWXYZ 
    aws_secret_access_key = private_key_s0m3_CR42Y_l3tt3rS_i5y0ur53cr3tK3y 
    
  • 5. Sobald Sie es eingegeben haben, drücken Sie CONTROL + X (Ja ... Kontrolle, nicht Befehl).

  • 6. Hit Y dann ENTER
  • 7. Holen Sie sich das [AWS_SDK_PHP] [4]
  • 8. Gehen Sie zu Ihrem Elastic Beanstalk
  • 9. Wenn Sie fertig sind, erstellen Sie Ihre App und Sie sehen die Übersicht Bildschirm mit dem grünen Häkchen. Schau zur Seite und drücke Konfiguration.
  • 10. Unter Software Configuration ->Document root: Art: /
  • 11. Unter Name ->AWS_ACCESS_KEY_ID Typ in: [your_access_key]
  • 12. Unter AWS_ACCESS_KEY_ID ist die AWS_SECRET_KEY, geben Sie in: [your_secret_key]
  • 13. Wenn Ihr PHP-Projekt ist fertig. Legen Sie alle Ihre Dateien in einen Ordner. Benennen Sie den Ordner [was auch immer], dann komprimieren Sie die Dateien innerhalb [was auch immer]. Komprimieren Sie nicht den gesamten Ordner. Komprimieren Sie nur die Dateien in dem Ordner. Wenn eine dieser Dateien Ihre index.php oder index.html enthält, wird Ihr Projekt auf der EBS-Standard-URL angezeigt.
  • 14. Ihr Projekt sollte Archiv.zip (Mac) genannt werden. Geh zu EBS, lade den Zip hoch und los gehts! Alles fertig mit AWS Setup!
AWS-Setup
  • 1. Setzen Sie den AWS_SDK_PHP in einem leeren Ordner
  • 2. An der Spitze der Datei mit dem SDK (index.php oder was auch immer) verwenden, sollten Sie in:

    require 'aws/aws-autoloader.php'; 
    date_default_timezone_set('America/New_York'); 
    
    use Aws\DynamoDb\DynamoDbClient; 
    
    $client = new DynamoDbClient([ 
        'profile' => 'default', 
        'region' => 'us-east-1', 
        'version' => 'latest' 
    ]); 
    


  • Datentypen
    • S = Zeichenfolge
    • N = Anzahl
    • B = Binary


  • Die Prinzipielle

    • Beschreiben Tabelle

      $result = $client->describeTable(array(
          'TableName' => '[Table_Name]' 
      )); 
      
      echo $result; 
      
    • einstellen Artikel

      $response = $client->putItem(array(
          'TableName' => '[Table_Name]', 
          'Item' => array(
           '[Hash_Name]' => array('S' => '[Hash_Value]'), 
           '[Range_Name]' => array('S' => '[Range_Value]') 
          ) 
      )); 
      
      //Echoing the response is only good to check if it was successful. Status: 200 = Success 
      echo $response; 
      
    • Get Artikel

      $response = $client->getItem(array(
          'TableName' => '[Table_Name]', 
          'Key' => array(
           '[Hash_Name]' => array('S' => '[Hash_Value]'), 
           '[Range_Name]' => array('S' => '[Range_Value]') 
          ) 
      )); 
      
      echo $response; 
      
    • Artikel löschen

      $response = $client->deleteItem(array(
          'TableName' => '[Table_Name]', 
          'Key' => array(
           '[Hash_Name]' => array('S' => '[Hash_Value]'), 
           '[Range_Name]' => array('S' => '[Range_Value]') 
          ) 
      )); 
      //Echoing the response is only good to check if it was successful. Status: 200 = Success 
      echo $response; 
      
    • Abfrage Artikel

      $response = $client->query(array(
          'TableName' => '[Table_Name]', 
          'KeyConditionExpression' => '[Hash_Name] = :v_hash and [Range_Name] = :v_range', 
          'ExpressionAttributeValues' => array (
           ':v_hash' => array('S' => '[Hash_Value]'), 
           ':v_range' => array('S' => '[Range_Value]') 
          ) 
      )); 
      
      echo $response; 
      

Hoffnung, das hilft.

+0

könnten Sie bitte Scan-Beispiel hinzufügen? –

Verwandte Themen