2014-09-12 8 views
9

voglio scrivere servizio in php dove -Serve un esempio completo per DynamoDB con PHP

1) DynamoDB avrà tavolo t con due colonne chiave e val

2) controllerò se qualche chiave esiste nella tabella o no.

3) Se esistono leggere i dati .. se non esistono dell'inserto nuovo valore-chiave nella tabella t

stavo controllando alcuni link 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

Quale seguire?

Inoltre, qualcuno può darmi un esempio rapido e una sintassi esatta.

Grazie in anticipo.

+2

Hai bisogno di mostrare un po 'di lavoro, e chiedere di un problema specifico. Questa domanda è la stessa di "Scrivi il mio codice per me", che potrei fare se hai incontrato la mia tariffa giornaliera! –

+0

Il primo link è vecchio; usa il secondo link. Dalla [AWS SDK di AWK per la guida utente] (http://docs.aws.amazon.com/aws-sdk-php/guide/latest/index.html), puoi trovare tutto ciò che ti serve per utilizzare l'SDK AWS e ci sono anche collegamenti a [ultimi documenti API per DynamoDB] (http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.DynamoDb.DynamoDbClient.html) anche da lì. –

risposta

23

Il walkthrough completo si trova HERE. Ti dà un passo per passo schema del processo di installazione per le credenziali e viene fornito con un facile da usare aggiungere al Setup PHP SDK for AWS

AWS - AWS non prevede la configurazione delle credenziali per voi impostato per passo , così lo farò.
  • 1. Vai AWS e ottenere il vostro public_key e private_key

    • AWS ha tutorial per questo HERE e HERE
  • 2. Aprire Terminal

  • 3. Se non hai ancora creato le credenziali, nella nuova pagina del terminale, digitare:

    nano ~/.aws/credentials 
    
    • La pagina nano funzione si aprirà. Vedrai GNU nano 2.0.6... in alto.
  • 4. all'interno della pagina nano, digitare:

    [default] 
    aws_access_key_id = public_key_ABCDEFGHIJKLMNOPQRSTUVWXYZ 
    aws_secret_access_key = private_key_s0m3_CR42Y_l3tt3rS_i5y0ur53cr3tK3y 
    
  • 5. Una volta digitato, premi CONTROL + X (Sì ... Controllo, non Comando).

  • 6. Hit Y poi INVIO
  • 7. Prendi il [AWS_SDK_PHP] [4]
  • 8. Vai al tuo Elastic Beanstalk
  • 9. Quando hai finito di creare la tua app, vedi la schermata Panoramica con il controllo verde. Guardare al lato e premere Configurazione.
  • 10. Sotto Software Configuration ->radice del documento: digitare: /
  • 11. Sotto Nome proprietà ->AWS_ACCESS_KEY_ID digitare: [your_access_key]
  • 12. Sotto AWS_ACCESS_KEY_ID è il AWS_SECRET_KEY, digitare: [your_secret_key]
  • 13. quando il progetto PHP è pronto. Metti tutti i tuoi file in una cartella. Denominare la cartella [qualunque], quindi comprimere i file all'interno di [qualunque]. Non comprimere l'intera cartella. Comprimi solo i file nella cartella. Se uno di questi file include index.php o index.html, il tuo progetto verrà visualizzato sull'URL EBS predefinito.
  • 14. Il progetto deve essere chiamato Archive.zip (Mac). Vai su EBS, carica lo zip e via! Tutto finito con l'installazione di AWS!
Setup AWS
  • 1. Mettere il AWS_SDK_PHP in una cartella vuota
  • 2. Nella parte superiore del file utilizzando l'SDK (index.php o qualsiasi altra cosa), ha messo 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' 
    ]); 
    


  • tipi di dati
    • S = String
    • N = Numero
    • B = Binario


  • i metodi di base

    • Descrivi Tabella

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

      $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; 
      
    • ottenete l'articolo

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

      $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; 
      
    • query elemento

      $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; 
      

Spero che questo aiuti.

+0

potresti aggiungere un esempio di scansione? –